Ответ - число "15". 1) ввели переменную с текстом; 2) назначили регулярное выражение (искомое слово), которое обязательно должны заключить в слешер "//"; 3) начали поиск и подсчет символов с помощью объекта ".search", который дойдя до слова "дуб" насчитал 15 символов; 4) выводим результат. Бросим еще один камень в огород неукам и освоим дополнительные возможности регулярных выражений, коих неисчислимое множество и написана не одна книга. Сегодня рассмотрим лишь пару возможностей,а именно функцию "/\b/;", которая отвечает за подсчет и сравнения чисел от 1 до 9. К примеру в заполнении таблицы регистрации мы обязаны ввести номер мобильного телефона. На сколько известно, он должен состоять в Украине из 10 цифр. Не о каких буквах речь идти не может. Рассмотрим на примере:



Получаем ответ "0", что есть хорошо, так как ошибок не обнаружено и введены только цифры. Если попытаемся поменять какую-нить цифру на букву, то получим "-1", а это в свою очередь означает, что в заполнении формы произошла ошибка. Количество \d должно совпадать с количеством допустимых вводимых значений. Если у нас в форме должно вводится не 10, а 100 цифр, то это, согласимся, не очень удобно. В таких случаях предусмотрен тег "\d{?}", где вместо знака вопроса - количество допустимых цифр. Так же наши уникальные пользователи могут ввести не только номер, но еще и подписаться. Например "Мой телефон - 0893222332", хоть и настоятельно просим вводить только числа. Для этого к уже существующему выражению добавляем спереди значок "^". Пример "^\d{?}". Такая беда нас может настичь и в конце формы "0893222332 - да, я крут". Для таких оплошностей вводим в конец выражения знак "$". Пример "^\d{?}$". Теперь, если человек начнет вводить что-либо, кроме заветных цифр - будет выдаваться ошибка. Рассмотрим этот скрипт в действии:



И снова мы получаем заветный "0" тем самым подтверждая, что все наши труды небыли напрасны.

Предыдущий урок.

Следующий урок.

Урок подготовил: Egro_proxi


2010-11-23 • Просмотров [ 1475 ]