Количественные повторители (квантификаторы)
В предыдущем разделе мы узнали, как найти один символ в строке. Но что, если вы хотите сопоставить более одного символа? Например, допустим, вы хотите найти слова, содержащие один или несколько символов буквы p, или слова, содержащие не менее двух символов p.
Для этого вам понадобятся квантификаторы. С помощью квантификаторов вы можете указать, сколько раз символ в регулярном выражении должен совпадать. Квантификаторы могут применяться к отдельным символам, а также к и , содержащимся в скобках.
В следующей таблице перечислены различные способы количественного определения конкретного шаблона:
RegExp | Что оно делает |
---|---|
Соответствует одному или нескольким вхождениям буквы p. | |
Соответствует нулю или более вхождений буквы p. | |
Соответствует нулю или одному вхождению буквы p. | |
Соответствует ровно двум вхождениям буквы p. | |
Соответствует как минимум двум вхождениям буквы p, но не более трех вхождений. | |
Соответствует двум или более вхождениям буквы p. | |
Совпадает не более чем с тремя вхождениями буквы p. |
Регулярное выражение в следующем примере разбивает строку на последовательность символов с помощью метода JavaScript :
Формы jQuery, доступные на CodeCanyon
Самостоятельная реализация валидации данных – очень полезный навык. Дополнительную функциональность помогут добавить готовые пакеты, созданные на основе jQuery и JavaScript.
1. Конструктор пошаговых jQuery форм Timon Step Form
Если вам нужна пошаговая форма, обратите внимание на пакет Timon Step Form. В состав этого набора входит множество готовых элементов форм, а также коллекция эффектов перехода
Это визуальный конструктор, для его использования не нужны навыки программирования. Имеется встроенная jQuery-валидация входных данных.
2. Smart Forms
Smart Forms представляет собой полнофункциональный фреймворк для создания, как простых, так и сложных форм. В его состав входит поддержка Google reCAPTCHA, проверка номеров телефонов и многое другое. Валидация реализована на jQuery, что делает данный фреймворк отличным выбором.
3. Just Forms Advanced
Название данного пакета говорит само за себя – это инструмент для создания продвинутых форм. В поставку входит более 110 готовых форм, а сам фреймворк позволяет разработать уникальную форму самостоятельно.
4. Forms Plus JS
Forms Plus – фреймворк для создания форм с валидацией и вычислениями. Включает в себя более 100 шаблонов для разработки форм. Поддерживает:
- ввод капчи;
- выбор даты, времени и цвета;
- группировку полей;
- скрытые поля;
- создание блоков для действий.
5. Sky Forms
Мы заканчиваем обзор на фреймворке Sky Forms. Данный пакет включает в себя обширный набор стильных элементов, более 300 векторных иконок и множество цветовых схем, поддерживает любую кастомизацию. Предусматривает обработку шести состояний для элементов ввода, включая наведение курсора, фокус и так далее. Формы, созданные с помощью Sky Forms, корректно работают во всех наиболее популярных браузерах.
Отредактированный ответ:
Это регулярное выражение принимает только те адреса электронной почты, которые содержат знак @, точку и TLD длиной 2-4 символа.
Вы можете использовать вышеупомянутое регулярное выражение для проверки заданного адреса электронной почты, как показано ниже:
JQuery Validator:
jQuery Validator не поддерживает использование регулярных выражений и вместо этого использует внутреннее регулярное выражение по умолчанию для HTML5, поэтому сначала необходимо создать новый метод для валидатора, который делает это:
Теперь, когда для валидатора создан метод, поддерживающий проверку по регулярному выражению, вы можете использовать следующее:
Модификаторы (флаги)
Модификатор шаблона позволяет вам контролировать способ обработки соответствия шаблону. Модификаторы размещаются непосредственно после регулярного выражения, например, если вы хотите искать шаблон без учета регистра, вы можете использовать модификатор , например: .
В следующей таблице перечислены некоторые из наиболее часто используемых модификаторов шаблонов.
Модификатор | Что оно делает |
---|---|
Ищет глобальное совпадение. | |
Делает совпадение без учета регистра. | |
Изменяет поведение и для сопоставления с границей новой строки (то есть началом или концом каждой строки в многострочной строке) вместо границы строки. | |
Оценивает выражение только один раз. | |
Изменяет поведение (точка) для соответствия всем символам, включая символы новой строки.. | |
Позволяет вам использовать пробел и комментарии в регулярном выражении для ясности. |
В следующем примере показано, как использовать модификаторы и в регулярном выражении для выполнения глобального поиска без учета регистра с помощью метода JavaScript.
Аналогично, в следующем примере показано, как сопоставлять начало каждой строки в многострочной строке, используя модификатор anchor и с методом JavaScript .
3 ответа
Лучший ответ
Это регулярное выражение заменяет все начальные и конечные не буквенно-цифровые символы из строки.
-
Это не определяет конкретно пробелы. Это просто отрицает все, кроме буквенно-цифровых символов. Что бы ни было внутри квадратной скобки, это набор символов — . Начальная крышка () ВНУТРИ набора символов говорит, что это отрицание. Поэтому говорит, что ноль или более символов отличаются от a-z, A-z или 0-9.
-
Знак в конце говорит о конце строки и не имеет ничего общего с символами $ и _. Это будет уже включено в набор символов, поскольку все это не буквенно-цифровые символы.
-
Ссылайтесь на ответ @smathy.
Также просто FYI, регулярное выражение AFAIU не может быть изучено путем прокрутки учебника. Вам просто нужно пройти основы и опробовать примеры.
4
Jithin
11 Ноя 2014 в 05:38
Некоторая основная информация.
Когда вы читаете регулярные выражения, вы читаете их слева направо. Вот как это делает двигатель.
Это важно в случае чередований, так как в левой части всегда пробуются в первую очередь. Но в случае привязки (EOL или EOS), может быть легче читать справа налево
Но в случае привязки (EOL или EOS), может быть легче читать справа налево.
Встроенные утверждения, такие как привязки разрыва строки и граница слова , наряду с обычными утверждениями смотрят в будущее и смотрят в прошлое , не используют символы.
Они подобны встроенным условным выражениям с одним путем, которые проходят или не выполняются, причем только в том случае, если оно проходит, выражение справа от него будет проверено. Таким образом, они действительно соответствуют что-то, они соответствуют условию.
Ваше регулярное выражение в глобальном контексте всегда будет совпадать дважды, один раз в начале строки, один раз в конце из-за якорей разрыва строки и потому, что вам на самом деле не требуется ничего другого для сопоставления.
Поэтому в основном вам следует избегать попыток сопоставить (смешать) все необязательные элементы со встроенными якорями . Это означает, что ваше регулярное выражение лучше представлено как , так как вас не волнует, есть ли там его НЕ (в случае , ноль или больше количественного показателя).
Удачи, продолжай учиться.
4
nhahtdh
11 Ноя 2014 в 06:52
Чтобы ответить на ваш третий вопрос, альтернативы идут вплоть до , поэтому обе стороны не одинаковы. В исходном регулярном выражении левая альтернатива — «все не алфавитно-цифровые символы в начале строки», а правая альтернатива — «все не алфавитно-цифровые символы в конце строки».
1
smathy
11 Ноя 2014 в 07:09
Предопределенные классы символов
Некоторые классы символов, такие как цифры, буквы и пробелы, используются так часто, что для них есть сокращенные имена. В следующей таблице перечислены эти предопределенные классы символов:
Сокращение | Что оно делает |
---|---|
Соответствует любому отдельному символу, кроме новой строки . | |
Соответствует любому числовому символу. Тоже самое | |
Соответствует любому нечисловому символу. Тоже самое | |
Соответствует любому пробельному символу (пробел, табуляция, символ новой строки или символ возврата каретки). Тоже самое | |
Соответствует любому непробельному символу. Тоже самое | |
Соответствует любому буквенному символу (определяется как от a до z, от A до Z, от 0 до 9, и подчеркивание). Тоже самое | |
Соответствует любому несловесному символу. Тоже самое |
В следующем примере показано, как найти и заменить пробел символом дефиса в строке, используя регулярное выражение с методом JavaScript :
Валидность адреса электронной почты
Рассмотрим адрес электронной почты ([email protected]). Вот его обязательные части:
- Название (test) — один или много символов;
- Знак собаки (@);
- Доменное имя почтового сервера (mail) — один или много символов;
- Точка (.);
- Доменное имя первого уровня (ru) от двух до пяти букв.
Составим регулярное выражение для наших требований:
/^+@+\.{2,4}$/i
Разберём правило по частям:
Регулярное выражение должно открываться и закрываться символами «/». После закрывающегося символа можно указать директиву. В нашем случае такой директивной является «i», которая отключает проверку вводимых букв на регистр
То есть, становится не важно, ввели «[email protected]» или «[email protected]». Знаки «^» и «$» обозначают начало и конец проверяемой строки
Если их убрать, то правило вернет положительный результат даже если в начале или конце электронного адреса поставить запрещенные знаки. То есть, при вводе «%:&[email protected]#6&» функция проверки вернет положительный результат, так как в строке имеется последовательность символов, удовлетворяющая нашему правилу. Для исключения такой возможности указываем, что правило должно применяться ко всей строке, а не к её части.
Блок «+» отвечает за проверку названия ящика. В квадратных скобках указываем разрешенные символы: «\w» — все латинские буквы, цифры и знак подчеркивания. Так же рекомендую добавлять знак тире и точку «-\.». «+» после квадратных скобок указывает на возможность повторения символов — один или много раз.
Далее идет знак собаки и доменное имя почтового сервера — «@+». Здесь практически тоже самое что и в предыдущем блоке. Исключаем только из набора символов точку.
Осталось прописать правило для проверки наличия точки и корректности доменного имени верхнего уровня (ru,com,info). «\.{2,4}». Для обозначения знака точки мы указываем её с обратным слешем «\.» Без него она будет восприниматься зарезервированным символом регулярки, который обозначает возможность наличия на её месте любого символа.
За точкой должно следовать доменное имя верхнего уровня. Это минимум 2 латинские буквы — «{2,4}».
/^{1}*@+\.{2,4}$/i
Сравнение шаблонов с регулярным выражением
Шаблоны регулярных выражений включают использование букв, цифр, знаков препинания и т. д., а также набор специальных символов регулярных выражений (не путайте со специальными символами HTML).
Символы, которым дается особое значение в регулярном выражении: . Вам нужно будет использовать обратную косую черту, если вы хотите использовать их буквально. Например, если вы использовать в регулярном выражении знак точка (), вам нужно писать Все остальные символы автоматически принимают свои буквальные значения.
В следующих разделах описаны различные параметры, доступные для формулирования шаблонов:
Что такое jQuery и её поддержка браузерами
jQuery — это быстрая, лёгкая и многофункциональная JavaScript библиотека, основанная на принципе «пиши меньше, делай больше».
Её создал Джон Резиг в начале 2006 года. В настоящее время jQuery разрабатывается и поддерживается распределенной группой разработчиков как проект с открытым исходным кодом.
Сейчас последней версией jQuery является 3.5.1. Она поддерживается во всех основных браузерах: Chrome, Firefox, Safari, Edge, Opera и Internet Explorer 9+.
Преимущества и недостатки jQuery
Преимущества, которые даёт нам библиотеки jQuery при её использовании для написания клиентских сценариев:
- компактность кода. Позволяет писать код более компактно чем на чистом javaScript, т.е. за гораздо меньшее количество строк кода.
- простой и понятный синтаксис. Значительно упрощает написание многих вещей, например, таких как манипулирование DOM элементами, обработку событий, добавление эффектов анимации на страницу, AJAX запросов и т.д.
- кроссбраузерность. Код написанный на jQuery будет гарантированно работать во всех основных браузерах. В то время как код, написанный на чистом JavaScript надо будет однозначно проверять во всех браузерах. Т.к. некоторые фрагменты кода могут не поддерживаться и их реализацию для этих браузеров нужно будет выполнять как-то по-другому, или например, использовать полифиллы.
- открытый код. Библиотека jQuery является полностью бесплатной как для личных, так и для коммерческих проектов.
Кроме преимуществ, приведённых выше, у библиотеки jQuery имеются конечно и недостатки.
К недостаткам jQuery можно отнести то, что она может немного увеличивать скорость загрузки веб-страницы (её сжатый размер составляет около 30КБ), а также немного снижать производительность выполнения кода, чем если он был бы написан на чистом JavaScript.
Статистика использования jQuery
Если перейти к статистике, то многие крупные компании, используют jQuery в своих приложениях и сайтах. При этом растущий тренд продолжается, несмотря на очень горячие дискуссии в ИТ сообществах на тему: «Стоит ли использовать jQuery или нет в 2021 году?»
Статистика использования jQuery 10k крупнейшими сайтами:
Пример использования
<!DOCTYPE html> <html> <head> <title>Пример использования jQuery функции $.post()</title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <script> $( document ).ready(function(){ $( "form" ).submit(function(){ var formData = $( this ).serialize(); // создаем переменную, которая содержит закодированный набор элементов формы в виде строки $.post( "user.php", formData, function( data ) { // передаем и загружаем данные с сервера с помощью HTTP запроса методом POST $( "div" ).html( data ); // вставляем в элемент <div> данные, полученные от сервера }) }); }); </script> </head> <body> <form method = "post"> <input type = "text" placeholder = "Имя" name = "firstName" required> <!-- поле обязательно к заполнению --> <input type = "text" placeholder = "Фамилия" name = "lastName" required> <!-- поле обязательно к заполнению --> <input type = "submit" value = "Добавить"> </form> <div></div> </body> </html>
В этом примере мы привязываем JavaScript обработчик событий «submit» (обработчик отправки формы), который срабатывает в момент отправки (в нашем случае заполненной) формы при нажатии на элемент <input> с типом submit (кнопка для отправки формы).
Кроме того, мы создаем переменную, которая содержит закодированный набор элементов формы в виде строки — результат выполнения метода .serialize().
После этого с использованием jQuery функции $.post() выполняем асинхронный AJAX запрос со следующими параметрами:
url — файл, к которому мы обращаемся («user.php»), он содержит следующий PHP код:
<?php $firstName = $_POST; // создаем переменную firstName, которая содержит переданные скрипту через HTTP метод POST данные (с ключом firstName)
$lastName = $_POST; // создаем переменную lastName, которая содержит переданные скрипту через HTTP метод POST данные (с ключом lastName)
echo «Пользователь «.$firstName.» «.$lastName.» добавлен»; // выводим текстовое содержимое (значение выше созданных переменных)
?>
data — данные, которые будут отправлены на сервер (значение переменной formData).
success — функция обратного вызова, которая вызывается если AJAX запрос выполнится успешно
Обратите внимание, что один из параметров функции (data) содержит данные возвращенные с сервера, которые мы и вставляем в элемент с помощью метода .html().
Результат нашего примера:
Пример использования jQuery функции $.post()jQuery AJAX
Группировка
Регулярные выражения используют скобки для группировки подвыражений, как в математике. Круглые скобки позволяют применять ко всему подвыражению.
Например, в regexp квантификатор применяется только к последнему символу o и соответствует строкам «go», «goo» и так далее. В регулярном выражении квантификатор применяется к группе символов и и соответствует строкам «go», «gogo» и т. д.
Если строка соответствует шаблону, метод возвращает массив, содержащий всю совпавшую строку в качестве первого элемента, за которой следуют все результаты, собранные в скобках и индекс всего совпадения. Если совпадений не найдено, возвращается .
Если регулярное выражение включает флаг , метод возвращает только массив, содержащий все сопоставленные подстроки, а не объект сопоставления.
Исходный код примера: html и javascript
Это полный код тестовой странички, на которой я использовал форму и js скрипты для отладки правил из этой статьи. Можете скопировать его и протестировать у себя на компьютере.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript"> function ValidMail() { var re = /^+@+\.{2,4}$/i; var myMail = document.getElementById('email').value; var valid = re.test(myMail); if (valid) output = 'Адрес эл. почты введен правильно!'; else output = 'Адрес электронной почты введен неправильно!'; document.getElementById('message').innerHTML = output; return valid; } function ValidPhone() { var re = /^\d{4,14}\d$/; var myPhone = document.getElementById('phone').value; var valid = re.test(myPhone); if (valid) output = 'Номер телефона введен правильно!'; else output = 'Номер телефона введен неправильно!'; document.getElementById('message').innerHTML = document.getElementById('message').innerHTML+'<br />'+output; return valid; } </script> </head> <body> <p id="message" >Пожалуйста, заполните все поля формы!</p> E-mail: <input id="email" name="email" type="text" size="20" /><br /> Телефон: <input id="phone" name="phone" type="text" size="20" /><br /> <input name="button" type="submit" value="Проверить" onClick="ValidMail(); ValidPhone();" /> </body> </html>
Это демонстрационная версия. В случае с формой обратной связи нам следует проводить проверку полей не при нажатии на кнопку, а при попытке отправить её:
<form action="/feedback/" method="post" onsubmit="return (ValidMail()&&ValidPhone())">
В этом случае форма отправится только если обе функции вернут значение «true».
4 ответа
Лучший ответ
Ваша строка содержит символы, которые соответствуют вашему регулярному выражению, которое находит частичное совпадения. На самом деле, если вы используете , вы увидите, что вы соответствуете .
Добавьте якоря и квантификатор:
Или, если во входных данных требуется 1+ символов:
7
Wiktor Stribiżew
27 Фев 2017 в 09:33
В вашем коде нет ничего плохого. Только ваши ожидания немного не соответствуют.
Документация по упоминает:
Метод не проверяет, соответствует ли вся ваша строка регулярному выражению, но только в том случае, если имеется подстрока, которая соответствует ему.
В своей текущей форме ваш код проверяет, содержит ли строка хотя бы один символ из диапазона (буквы, цифры, минус или тире).
Если вам нужно проверить соответствие по всей строке, вы должны использовать (и, возможно, ) :
- соответствует началу строки;
- соответствует концу строки;
- означает, что предыдущее выражение совпадает один или несколько раз; предыдущее выражение здесь — это диапазон .
Это обновленное выражение соответствует строкам, которые содержат только буквы, цифры, тире и минусы и не являются пустыми; используйте вместо для разрешения пустых строк; возвращает предыдущее выражение в ноль или более раз.
Обновление:
Лучший способ — поместить в качестве первого символа диапазона и интерпретировать значение, возвращаемое , наоборот. сводит на нет значение блока диапазона (). соответствует любому символу, который не является буквой, цифрой, тире или запятой.
Строка, соответствующая регулярному выражению , действительна для ваших нужд (она содержит как минимум один символ, который не является буквой, цифрой, тире или запятой).
5
axiac
27 Фев 2017 в 09:52
Как заявил Wiktor Stribizew, вы делаете частичные совпадения с вашим регулярным выражением. в данном конкретном случае это означает, что строка будет проходить символ за символом, пока не найдет совпадение или не достигнет конца строки. С вашей строкой она будет совпадать с индексом 3 (i) и вернет true. Используя в начале и в конце выражения, вы заставляете его точно соответствовать содержимому всей строки, поскольку соответствует началу строки и ` X3` соответствует концу.
соответствует строке, состоящей из любого символа от a до z, от A до Z, от 0 до 9, дефиса или подчеркивания, поэтому она будет соответствовать ‘3’, ‘b’, ‘E’, ‘- ‘или’ _ ‘, но не’ ab ‘или’ er ‘, потому что и эффективно ограничивают строку только одним символом в этом случае.
Чтобы проверить строку, состоящую, в частности, из любого количества этих символов, необходимо ввести звездочку (если строка может быть пустой) или знак плюс (если он должен содержать хотя бы один символ). Таким образом, возвращает true, только если строка состоит исключительно из диапазонов символов в выражении.
Вы также можете покончить с частью , используя флаг , который указывает выражению выполнять сопоставления без учета регистра, оставляя вас с в качестве конечного выражения.
-1
Nicolás Straub
27 Фев 2017 в 10:02
Вы можете проверить, найден ли символ другой , кроме указанных, и вернуть , если он есть:
Это соответствует определенным символам. Это исключает определенные символы.
В этом случае соответствует символу, который не является , , , или {{X5} } .
возвращает первое вхождение указанного шаблона или все из них, если глобальный флаг включен. Если ничего не найдено, возвращается .
Обратите внимание, что символ шляпы имеет другое значение, если он не заключен в квадратные скобки, как. Если это снаружи, это указывает на начало строки
Я бы рекомендовал посетить эту страницу, чтобы изучить регулярные выражения, это очень легко. Вы также можете использовать этот для проверки своего регулярного выражения.
2
dodov
27 Фев 2017 в 10:08
Как проверить подключён ли jQuery
Проверить подключён ли jQuery к странице можно так:
if (window.jQuery) { // jQuery подключен к странице }
Если нужно выполнить те или иные действия в зависимости от того подключен jQuery к странице или нет:
if (window.jQuery) { // jQuery подключен к странице } else { // jQuery не подключен к странице }
Пример, в котором показано как можно добавить jQuery на страницу, если он ещё не загружен:
if (!window.jQuery) { document.write('<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>') }
if (window.jQuery) { var verJquery = jQuery.fn.jquery; // выведем версию jQuery в консоль console.log(verJquery); }
Кастомизация сообщений об ошибках
Иногда возникает необходимость добавления собственных классов к элементам ввода – для использования дополнительных правил или для лучшей интеграции с существующей темой оформления сайта.
Классы, связанные с корректными и неверными элементами ввода, можно менять с использованием ключей errorClass и validClass. Это поможет предотвратить нежелательные конфликты, которые могут возникать при повторном использовании одного и того же названия класса. По умолчанию класс ошибки errorприсваивается каждому недопустимому входному элементу и метке. Допустимый класс valid присваивается каждому корректному входному элементу.
При этом важно помнить, что присвоение errorClass уведомлениям fail-alert удаляет класс error из недопустимых элементов. Для присвоения нескольких классов одному и тому же элементу следует использовать errorClass: «error fail-alert»
То же самое касается validClass.
Если пользователь вводит корректные данные, дополнительные метки к форме не добавляются. Таким образом, классы validClass остаются присвоенными корректным входным элементам.
Дополнительный JavaScript-код используется только для присвоения классов:
$(document).ready(function() { $("#basic-form").validate({ errorClass: "error fail-alert", validClass: "valid success-alert", // ... More validation code from previous example Далее приведен CSS -код, который мы будем использовать для оформления сообщений об ошибках: label.error.fail-alert { border: 2px solid red; border-radius: 4px; line-height: 1; padding: 2px 0 6px 6px; background: #ffe6eb; } input.valid.success-alert { border: 2px solid #4CAF50; color: green; }
Помимо создания стиля для сообщений об ошибках, мы также добавим собственный стиль к допустимым входным элементам. Ниже приводится демонстрационный пример с готовым результатом.
Добавление правил валидации для полей ввода
Вы также можете передать определенные правила в метод validate() для установления правил, в соответствии с которыми должна проверяться введенная информация. Значением параметра rules должны быть пары «ключ-значение». Ключом в каждом случае является название проверяемого элемента, а значением – набор правил для проверки информации.
Также можно добавить проверку условий данных в различных полях – с использованием ключевого слова depends («зависит от») и возвращая, соответственно, результат true («истинно») или false («ложно»). Ниже приведен пример использования простого набора правил для определения корректности введенных данных:
$(document).ready(function() { $("#basic-form").validate({ rules: { name : { required: true, minlength: 3 }, age: { required: true, number: true, min: 18 }, email: { required: true, email: true }, weight: { required: { depends: function(elem) { return $("#age").val() > 50 } }, number: true, min: 0 } } }); });
Такие опции валидации схожи с атрибутами, которые вы можете добавить в разметку формы. Например, установка параметра required на true сделает элемент обязательно необходимым для успешной отправки формы. Установление minlength на значение 3 обяжет пользователей вводить в поле как минимум три символа. Есть и другие встроенные методы валидации, с которыми можно ознакомиться на странице с технической документацией.
Важный момент, на который необходимо обратить внимание в приведенном выше коде – использование depends для того, чтобы сделать обязательным условием ввод веса, если возраст превышает 50 лет. Условие реализовано с помощью возвращения значения true функцией обратного вызова в том случае, если значение, введенное в поле age, превышает 50
Определение регулярных выражений
В JavaScript регулярные выражения представлены объектом , который является нативным объектом JavaScript, таким как , и так далее. Существует два способа создания нового объекта RegExp: один использует литеральный синтаксис, а другой — конструктор .
Литеральный синтаксис использует косую черту () для переноса шаблона регулярного выражения, тогда как синтаксис конструктора использует кавычки (). В следующем примере демонстрируются оба способа создания регулярного выражения, которое соответствует любой строке, начинающейся с «Mr.».
Как видите, литеральный синтаксис регулярного выражения короче и проще для чтения, поэтому предпочтительно использовать его. Мы также будем использовать его в этом уроке.
При использовании синтаксиса конструктора необходимо дважды экранировать специальные символы; это означает, что для поиска «.» вам нужно написать вместо . Если есть только один обратный слеш, он будет интерпретирован синтаксическим анализатором строк JavaScript как экранирующий символ и будет удален.