Что не говорите, а регулярные выражения являются незаменимой вещью, когда речь идёт о валидации данных или поиске каких-то элементов при парсинге страниц. Если вы захотите написать свою селекторную библиотеку (к примеру для поиска внутри DOM), то вам придётся воспользоваться регулярными выражениями. В этой статье мы рассмотрим базовые приёмы работы с регулярными выражениями.

Обсудим основы работы с регулярными выражениями в три этапа.

Этап 1

^     Начало строки

$     Конец строки

.     Отдельный символ

+     Один или более символов

     Экранирование спец символа

?     Ноль или более символов

Поиск строки “abc”

1var A = /^abc$/;

Поиск строки, которая начинается с “abc”

1var B = /^abc/;

Поиск строки, которая заканчивается на “abc”

1var C = /abc$/;

Поиск строки, где начало “abc”, а затем следует один любой символ.Пример: abcx

1var D = /^abc.$/;

Поиск строки, где начало “abc”, а затем следует один и более любых символов. Пример: abcxy

1var E = /^abc.+$/;

Поиск строки “abc.def”, с точкой (.), т.к. она экранирована

1var F = /^abc.def$/;

Поск строки с любым количеством символов, которые следуют после “abc” Пример: abcxyz12….

1var G = /^abc.+?$/

Этап 2

[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х символов

Пример валидации URL.

var URL = /^(http|https|ftp)://(www+.)?[a-zA-Z0-9]+.([a-zA-Z]{2,4})/?/;

URL.test(“http://9lessons.info”);                      // pass
URL.test(“http://www.9lessons.info”);            // pass
URL.test(“https://9lessons.info/”);                   // pass
URL.test(“http://9lessons.info/index.html”);    // pass

Этап 3

d     [0-9]     любые числа

D     [^0-9]     всё, кроме цифр

w     [a-zA-Z0-9_]     символы, цифры, знак подчёркивания

W     [^a-zA-Z0-9_]     всё, кроме символов, цифр, знака подчёркивания

s     —     пробел

S     —     не пробел

var number = /^(+d{2,4})?s?(d{10})$/;  // валидация номера телефона

number.test(1111111111);           //проходит
number.test(+111111111111);     //проходит
number.test(+11 1111111111);    //проходит
number.test(11111111);               //не проходит

Данный урок подготовлен для вас командой сайта ruseller.com 
Источник урока: http://www.9lessons.info/2013/10/understanding-regular-expression.html 
Перевел: Станислав Протасевич
Урок создан: 23 Октября 2013
Источник: http://ruseller.com/lessons.php?rub=28&id=1895