Регулярные выражения являются наиболее важной частью при осуществлении различных проверок. Регулярные выражения широко используется для валидации данных или поиске каких-то элементов при парсинге. Если вы захотите написать свою селекторную библиотеку (к примеру для поиска внутри DOM), то вам придётся воспользоваться регулярными выражениями. В этой статье мы рассмотрим базовые приемы работы с регулярными выражениями.
Первый этап
^ Начало строки
$ Конец строки
. Отдельный символ
+ Один или более символов
\ Экранирование спец символа
? Ноль или один символ
Поиск строки “qwerty”:
1 |
var A = /^qwerty$/; |
Поиск строки, которая начинается с “qwerty”:
1 |
var B = /^qwerty/; |
Поиск строки, которая заканчивается на “qwerty”:
1 |
var C = /qwerty$/; |
Поиск строки, где начало “qwerty”, а затем следует один любой символ. Пример: zdcs
1 |
var D = /^qwerty.$/; |
Поиск строки, где начало “abc”, а затем следует один и более любых символов. Пример: abcxy
1 |
var E = /^qwerty.+$/; |
Поиск строки “qwerty.def”, с точкой (.), т.к. она экранирована:
1 |
var F = /^qwerty\.def$/; |
Поск строки с любым количеством символов, которые следуют после “qwerty” Пример: qweqwe12….
1 |
var G = /^qwerty.+?$/ |
Второй этап
[abc] один из указанных символов
[^abc] ни один из указанных символов
[a-zA-Z0-9] один из символов a-z, A-Z и цифр цифр
[a-z-._] один из символов a-z и специальных символов ._-
(com|info) “com” или “info”
{2} только 2 символа
{2,3} минимум 2 символа, максимум 3 символа
{2,} более 2х символов
Хотите уже сейчас набрать популярность в любой социальной сети и узнать все тайны SMM продвижения? Тогда посетите блог прайссмм, в котором собрана вся полезная информация о маркетинге и развитии в социальных сетях. Представленные здесь статьи помогут Вам начать продвигать любой проект и быстро на этом продвинуться и заработать.
Пример валидации URL:
1 2 3 4 5 |
var URL = /^(http|https|ftp):\/\/(www+\.)?[a-zA-Z0-9]+\.([a-zA-Z]{2,4})\/?/; URL.test(“http://garosh.ru”); // проходит URL.test(“http://www.garosh.ru”); // проходит URL.test(“https://garosh.ru/”); // проходит URL.test(“http://garosh.ru/index.html”); // проходит |
Третий этап
\d [0-9] любые числа
\D [^0-9] всё, кроме цифр
\w [a-zA-Z0-9_] символы, цифры, знак подчёркивания
\W [^a-zA-Z0-9_] всё, кроме символов, цифр, знака подчёркивания
\s — пробел
\S — не пробел
1 2 3 4 5 |
var number = /^(\+\d{2,4})?\s?(\d{10})$/; // валидация номера телефона number.test(3333333333); //проходит number.test(+333333333333); //проходит number.test(+33 3333333333); //проходит number.test(33333333); //не проходит |