Далее на странице...
В предыдущей заметке мы начали изучать метод search и регулярные выражения. На этой странице мы продолжим с ними работать и рассмотрим регулярные выражения Начала и Конца строки.
Но прежде следует сказать следующее. Регулярные выражения существуют не только в Javascript.
Регулярные выражения - это специальный язык для описания шаблонов строк. Это инструмент для поиска строк, проверки их на соответствие какому-либо шаблону и другой подобной работы. Реализация этого инструмента различается в разных языках программирования, хоть и не сильно.
По этой ссылке можно скачать шпаргалку по регулярным выражениям.
Регулярное выражение - {n} - ровно n
Вернемся к примеру из предыдущей заметки, где при помощи регулярного выражения \d, которое обозначает любую цифру от 0 до 9, мы искали последовательность из шести цифр. Для этого пришлось регулярное выражение \d указать шесть раз.
Теперь, используя шпаргалку по регулярным выражениям, можно оптимизировать javascript-код в примере из предыдущей заметки.
<script type="text/javascript">
var index = prompt("Введите свой почтовый индекс из шести цифр");
var regular = /\d{6}/; /* Регулярные выражения: \d и {6} - последовательность из шести цифр */
var result = index.search(regular); /* Ищем шаблон в строке */
/* Далее составляем условие для проверки... */
if (result == -1)
{
document.write("Вы неверно ввели индекс - он должен состоять из шести цифр");
}
else
{
document.write("Ваш индекс " + index);
}
</script>
Итак, в этом примере мы оптимизировали javascript-код за счет использования регулярного выражения \d{6}:
-
Где \d обозначает цифру от 0 до 9.
-
А {6} обозначает ровно 6 (в фигурных скобках может быть указано любое число).
То есть запись \d{6} идентична \d\d\d\d\d\d.
Регулярное выражение - ^ - Начало строки
Подробнее рассмотрим предыдущий пример.
Допустим, пользователь корректно укажет почтовый индекс, то есть подряд введет шесть цифр, но при этом сначала напишет пару слов:«Мой индекс 394000».
Попробуйте это сделать и в результате увидите всю строку: «Мой индекс 394000».
А что если нам нужен только почтовый индекс?
Снова обратимся к шпаргалке для регулярных выражений.
Здесь нам поможет регулярное выражение ^, что означает Начало строки.
<script type="text/javascript">
var index = prompt("Введите свой почтовый индекс из шести цифр");
var regular = /^\d{6}/; /* Регулярные выражения: ^ - начало строки, \d и {6} - последовательность из шести цифр */
var result = index.search(regular); /* Ищем шаблон в строке */
/* Далее составляем условие для проверки... */
if (result == -1)
{
document.write("Вы неверно ввели индекс - он должен состоять из шести цифр");
}
else
{
document.write("Ваш индекс " + index);
}
</script>
Теперь какой-либо текст, расположенный перед почтовым индексом приведет к тому, что в результате мы получим -1, то есть увидим: «Вы неверно ввели индекс - он должен состоять из шести цифр».
Так работает регулярное выражение начала строки.
Регулярное выражение - $ - Конец строки
Доработаем до конца этот пример.
Допустим, пользователь снова корректно укажет почтовый индекс, только теперь напишет пару слов после него: «394000 - Мой индекс». Или же укажет не 6, а 7 или более цифр.
При этом регулярное выражение ^ - Начало строки уже не поможет. Для таких случаев существует другое регулярное выражение $ - символ доллара, что означает Конец строки.
<script type="text/javascript">
var index = prompt("Введите свой почтовый индекс из шести цифр");
var regular = /^\d{6}$/; /* Регулярные выражения: ^ - начало строки, \d и {6} - последовательность из шести цифр, $ - Конец строки */
var result = index.search(regular); /* Ищем шаблон в строке */
/* Далее составляем условие для проверки... */
if (result == -1)
{
document.write("Вы неверно ввели индекс - он должен состоять из шести цифр");
}
else
{
document.write("Ваш индекс " + index);
}
</script>
Теперь какой-либо текст или большее число цифр, расположенных как до, так и после почтового индекса приведет к тому, что в результате мы получим -1, то есть увидим: «Вы неверно ввели индекс - он должен состоять из шести цифр».