'

JavaScript Регулярные выражения

Понравилась презентация – покажи это...





Слайд 0

JavaScript Регулярные выражения Введение Создание регулярных выражений Флаги (способы поиска по шаблону) Метасимволы Специальные символы Квантификаторы повторения Позиционные проверки Управляющие символы Методы и свойства объекта RegExp() Статические свойства объекта RegExp() Строковые методы для работы с регулярными выражениями


Слайд 1

Введение Регулярные выражения — это формальный язык поиска и осуществления манипуляций с подстроками в тексте, задающий шаблон (образец) из символов и метасимволов и задающий правило поиска


Слайд 2

Создание регулярных выражений <script type="text/javascript"> // Вариант первый var regTemplate = new RegExp(/шаблон/флаги); // Вариант второй var regTemplate = new RegExp('шаблон', ' флаги '); </script> С помощью объекта new RegExp() <script type="text/javascript"> var regTemplate = /шаблон/флаги; </script> С помощью регулярного выражения для поиска (pattern)


Слайд 3

Флаги (способы поиска по шаблону) g (global) — глобальный поиск соответствия по всей строке; i (ignoreСase) — нечувствительность к регистру; m (multiline) — многострочный поиск var regTemplate = /be/; var str = 'To be, or not to be '; //Найдёт только первое вхождение строки var regTemplate = /be/g; var str = 'To be, or not to be '; //Найдёт все вхождения строки Глобальный поиск: var regTemplate = /be/; var str = 'TO BE OR NOT TO BE'; //Не найдет вхождений, если строка находится в другом регистре var regTemplate = /be/i; var str = 'TO BE OR NOT TO BE'; //Найдёт все вхождение строки, не смотря на регистр Нечувствительность к регистру:


Слайд 4

Флаги (способы поиска по шаблону) var regTemplate = /^[\w\, ]+not[\w\, ]+$/; var str = 'To be, \r\n or not to be '; // Не найдёт совпадений var regTemplate = /^[\w\, ]+not[\w\, ]+$/m; var str = 'To be , \r\n or not to be '; //Найдёт все вхождения строки Многострочный поиск: Опция многострочного поиска позволяет проводить сопоставление с образцом строкового выражения, состоящего из нескольких строк текста, соединенных символами разрыва строки. По умолчанию, сопоставление с образцом прекращается, если найден символ разрыва строки Многострочный поиск работает только если в шаблоне указаны начало строки «^» и конец строки «$»


Слайд 5

Метасимволы Если в проверяемой строке имеются символы, схожие с метасимволами, то их необходимо экранировать символом «/». Например, для строки «100$» следует создать выражение /^100\$$/


Слайд 6

Специальные символы


Слайд 7

Квантификаторы повторения


Слайд 8

Позиционные проверки


Слайд 9

Управляющие символы


Слайд 10

Методы и свойства объекта RegExp() var regTemplate = /^be$/; alert(regTemplate.test('be')); //Выведет true, т. к. строка соответствует шаблону alert(regTemplate.test('not be')); //Выведет false, т. к. строка НЕ соответствует шаблону test() — вывод строкового представления объекта var regTemplate = /^be$/; alert(regTemplate. toString()); //Выведет строку регулярного выражения «^be$» toString() — Проверка соответствия строки данному выражению exec() — возвращает объект результатов совпадений или «null», если ничего не найдено Методы объекта RegExp() var regTemplate = /(be).+(be)/g; var str = 'To be or not to be'; //Не найдет вхождений, если строка находится в другом регистре var result = regTemplate.exec(str);      // result[0] = 'be, or not to be'; — строка соответствия      // result[1] = 'be'; — строка соответствия      // result[2] = 'be'; — строка соответствия      // result[index] = 3; — позиция первого вхождения строки соответствия      // result[lastIndex] = 19; — позиция последнего вхождения строки соответствия (только в IE)


Слайд 11

Методы и свойства объекта RegExp() Свойства объекта RegExp()


Слайд 12

Статические свойства объекта RegExp()


Слайд 13

Строковые методы для работы с регулярными выражениями


Слайд 14

Задание Запросите у пользователя мобильный номер телефона: Номер должен начинаться с «+7» или «8»; Следующие три цифры могут быть в скобках, могут или без; Остальные группы цифр могут не разделяться, или разделяться знаком «-» или пробелом. Напр. xxx-xx-xx, xxx xx xx или xxxxxxx; Если номер введён верно — выведите его, если нет — снова запросите ввести его, отобразив в вызове неправильное значение. Выведенный номер должен начинаться с «+7» и логически разделяться пробелами, напр. +7 123 456 78 90


×

HTML:





Ссылка: