Программирование - это просто
Advertisement
Главная arrow C#, Delphi, VB, F#, Web и пр. arrow Web-программирование arrow Уроки Java Script arrow Web-программирование: "Java Script(JS): Регулярные выражения. Продолжение"
16.12.2017 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Web-программирование: "Java Script(JS): Регулярные выражения. Продолжение" Печать E-mail
Автор megabax   
02.04.2017 г.
Урок 13. Управление шрифтами в CSS New Page 1

Web-программирование: "Java Script(JS): Регулярные выражения. Продолжение"

 

 

На прошлом уроке мы рассмотрели пример использования регулярных выражений. Вернемся к этому примеру, слегка переделанному:

<html>

    <head>

        <meta charset="UTF-8">

        <title>Урок 120. Java Script (JS): Регулярные выражения</title>

        <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

            function validate(form) {

                var str=form.numbers.value;

                var templ=/^[йцуке]*$/;

                if(!templ.test(str)) {

                    alert("Неверный формат!");

                    form.numbers.focus();

                    return false;

                }

                return true;

            }

        </SCRIPT>

    </head>

    <body>

        <form name="myform" method="GET" action="script.html">

            Сюда введите что-нибудь <input type="text" name="numbers" ONKEYPRESS="return onKeyPress(event)"></input><br>

            <input type="submit" value="OK" name="ok" ONCLICK="return validate(this.form)">

        </form>

    </body>

</html>

 

В данной программе мы можем ввести сколько угодно букв из ограниченного набора "йцуке". В том числе и нисколько. Как я уже говорил на прошлом уроке, знак "*" обозначает любое количество символов. Если этот знак убрать, то вы сможете ввести только один любой символ из заданного набора, два и ни одного уже не сможете:

 

Web-программирование: "Java Script(JS): Регулярные выражения. Продолжение"

 

Если надо использовать целый ряд символов, идущих по порядку друг за другом, то можно использовать тире, например так:

/^[а-ж]$/

 

В этом случае шаблону будет соответствовать любая буква, стоящая в алфавите от "а" до "ж", кроме "ё", потому что она какая то нестандартная и имеет какой то совсем другой код. Вообще, для целей регулярных выражений буквы упорядочены не по алфавиту, а по коду. Просто так совпадает, что коды присваиваются буквам (за некоторыми исключениями) в алфавитном порядке. Но если нам надо пропускать букву "ё" тогда надо использовать вот такой шаблон:

/^[а-жё]$/

 

Кстати, в шаблонов важно, прописная буква или строка. Вышеописанный шаблон не даст ввести заглавную букву:

 

Web-программирование: "Java Script(JS): Регулярные выражения. Продолжение"

 

Для того, чтобы можно было ввести заглавные буквы, необходимо использовать уже вот такой шаблон:

 

/^[а-жёА-ЖЁ]$/

 

Аналогично действует и для цифр, например, вот такой шаблон позволяет вводить цифры от 1 до 5

/^[1-5]$/

 

Может возникнуть вопрос: а что если надо ввести само тире? Тогда его нужно указать в конце списка символов:

/^[1-5-]$/

 

Если в квадратных скобках указать только тире (минус) то только его и можно будет ввести:

/^[-]$/

 

Итак, мы разобрали назначение квадратных скобок - в них можно указывать список символов, которые допускаются на этом месте строки. Там можно указать использовать также и спецсимволы, которые позволяют задать целую группу символов. Но о них пойдет речь в будущих уроках.

 

Последнее обновление ( 02.04.2017 г. )
 

Добавить комментарий


Защитный код
Обновить

« След.   Пред. »
 
© 2017 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше