«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript
site.komp36.ru Создание сайтов. Твой сайт фотографа Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Продающий лендинг «Установка и продажа окон» Установка и продажа окон, установка дверей, перегородок. Одностраничный продающий сайт. Заявки прямо с сайта
site.komp36.ru Универсальный лендинг. Любая тема сайта - 4900 руб. Лендинг адаптируется под любую тему: ремонт, отделка, продажа окон, дверей, лестниц, мебели и многое другое
site.komp36.ru Создание сайтов. Сайт сервисного центра. Сайт компании. Новости и отзывы. Несколько прайс-листов – под каждый отдельная страница. Возможность размещения статей


Игра «Морской Бой» на JavaScript: Простая Игра и Игра для Двоих



Метод search позволяет работать с регулярными выражениями.

Что такое регулярные выражения?

Регулярные выражения - используются, когда нужно найти совпадение в строке с каким-либо шаблоном. Подробнее о регулярных выражениях будет сказано в следующей заметке.



Метод search - Регулярные выражения - Синтаксис

Метод search похож на методы indexOf и lastIndexOf.

Он также ищет совпадение в строке и возвращает позицию (целое число), с которой оно начинается.

Если совпадений не найдено, метод search возвращает -1.

Метод search используется при работе с регулярными выражениями.

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

Попробуем найти слово в произвольной строке.

Фрагмент кода

<script type="text/javascript">

var tomorrow = "Завтра мы поедем в Крым"; /* Произвольная строка */
var regular = /мы/; /* Создаем шаблон - Регулярное выражение */
var result = tomorrow.search(regular); /* Ищем шаблон regular в строке tomorrow */

document.write(result);

</script>

Результат

Для наглядности разберем подробнее этот пример - посмотрим, как здесь работает javascript:

var result = "Завтра мы поедем в Крым".искать(/мы/);

Итак, в примере было создано регулярное выражение (некий шаблон), в данном случае /мы/, которое поместили в переменную regular и которое с помощью метода search искали в строке: "Завтра мы поедем в Крым".

В результате JavaScript выдаст нам цифру 7 - это позиция, с которой начинается совпадение шаблона в строке.

Регулярное выражение цифра - \d

Теперь для понимания того, где на практике могут использоваться регулярные выражения, рассмотрим следующий пример.

Есть строка, предположительно содержащая почтовый индекс одного из городов России. Нужно выяснить есть ли на самом деле почтовый индекс в этой строке и корректно ли он введен.

Для тех, кто не знает: почтовый индекс городов России состоит из шести цифр и не содержит букв.

Таким образом, с помощью регулярных выражений и метода search, нужно будет определить, есть ли в строке последовательность из шести цифр от 0 до 9.

В регулярных выражениях подобные вещи закодированы. Цифра от 0 до 9 в регулярных выражениях представлена, как \d (обратный слэш и буква d).

Фрагмент кода

<script type="text/javascript">

var index = "Индекс города Воронеж 394000"; /* Строка, содержащая индекс */
var regular = /\d\d\d\d\d\d/; /* Регулярное выражение - последовательность из шести цифр */
var result = index.search(regular); /* Ищем регулярное выражение в строке */

document.write(result);

</script>

Результат

И снова давайте посмотрим, как в данном случае работает javascript:

var result = "Индекс города Воронеж 394000".искать(последовательность из шести цифр от 0 до 9);

В примере было указано регулярное выражение \d (то есть какая-либо цифра) шесть раз. Таким образом, мы искали последовательно расположенных, шесть цифр от 0 до 9

В результате Вы увидите число 22 - это индекс (порядковый номер) цифры 3 - той, с которой начинается последовательность.

Теперь рассмотрим пример, где почтовый индекс введен с ошибкой.

Если же пользователь сделает ошибку и введет, например, 5 цифр, или вместо цифры - букву, то в результате мы увидим -1. Это «говорит» о том, что в строке нет последовательности из шести подряд расположенных цифр, то есть в ней не найден почтовый индекс России.

Ситуация, при которой пользователь может ввести 7, 8 или более цифр будет разрешена в конце следующей заметки, где будут использованы регулярные выражения ^ и $ - Начала и Конца строки.

Фрагмент кода

<script type="text/javascript">

var index = "Индекс города Воронеж 39400R"; /* Строка, содержащая индекс с ОШИБКОЙ */
var regular = /\d\d\d\d\d\d/; /* Регулярное выражение - последовательность из шести цифр */
var result = index.search(regular); /* Ищем регулярное выражение в строке */

document.write(result);

</script>

Результат

Для наглядности и дополнительной практики в работе с кодом javascript, можно реализовать следующее:

Оптимизировать предыдущий пример и попросить у пользователя при помощи метода prompt ввести почтовый индекс из шести цифр. Потом сделать проверку, используя условие if-else, на предмет правильности ввода требуемой информации. Попробуйте в результате ввести 5 цифр или 5 цифр и букву.

Фрагмент кода

<script type="text/javascript">

var index = prompt("Введите свой почтовый индекс из шести цифр");
var regular = /\d\d\d\d\d\d/; /* Создаем шаблон - Регулярное выражение */
var result = index.search(regular); /* Ищем шаблон в строке */

/* Далее составляем условие для проверки... */
if (result == -1)
{
document.write("Вы неверно ввели индекс - он должен состоять из шести цифр");
}
else
{
document.write("Ваш индекс " + index);
}

</script>

Результат

Но этот пример не доработан. Да, в нем нельзя ввести менее 6 цифр в качестве почтового индекса, а больше 6 - можно. Кроме этого вместе с индексом более, чем из шести цифр можно ввести какой-либо текст и javascript не будет исключать и этот вариант. Пробуйте экспериментировать...

Как это сделать? Как добиться того, чтобы пользователь вводил исключительно последовательность из шести цифр и ничего более?

Это будет реализовано в следующей заметке, где будет продолжено знакомство с регулярными выражениями и методом search.

Читайте также...

site.komp36.ruТвой сайт фотографа. Создание сайтов Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Акция Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Акция Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта

Отзывы и комментарии:

Комментариев нет...

Оставить отзыв:

Ваше Имя:

Текст комментария:

Ответьте на вопрос:

Сколько дней в Високосном году?


Объект String
Метод search - Регулярные выражения
2262
Свойство length - Число символов в строке
3063
Практическая задача - Свойство length
1444
Регистр строки - toUpperCase и toLowerCase
24289
Практическая задача - Методы toUpperCase и toLowerCase
1581
Поиск совпадений в строке - Методы indexOf и lastIndexOf
3021
Практическая задача - Методы indexOf и lastIndexOf
1532
Метод slice - Копирование из строки
2862
Практическая задача - Метод slice
1592
Методы charAt и charCodeAt - Возвращаем символ и КОД символа
10392
Практическая задача - Методы charAt и charCodeAt
2881
Регулярные выражения - Начало и Конец строки
2311
Практическая задача - Регулярные выражения
1420
Метод match - Возвращает массив из совпадений - Глобальный поиск g
3265
Поиск сайта в строке
1887
Практическая задача с кредитной картой
2255
Метод replace - Замена совпадений
4569
Практическая задача - Метод replace
2110
Метод trim в - Удаление пробелов в начале и конце строки
6173
Метод substring - Извлекает часть строки
1125
Метод split в JavaScript - Разделитель строки
2108
Тематические публикации
site.komp36.ru Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта
Популярные заметки
Последние заметки