» » » Регулярные выражения для различных проверок (regexp)

Регулярные выражения для различных проверок (regexp)

Небольшая подборка регулярных выражений для проверки основных полей ввода данных, которые могут присутствовать на сайте. А так же для работы с текстом.
 
1. Проверка e-mail
 
Пройдет проверку name@example.com:
^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$
Простая защита от дураков, проистекающая из призыва прекратить проверять емейлы регулярками на хабре. Посчитает емейл валидным, если присутствует "." и "@":
/.+@.+\..+/i
 

2. Проверка URL и ссылок
(пример: «http://www.my-site.com»):

^((https?|ftp)\:\/\/)?([a-z0-9]{1})((\.[a-z0-9-])|([a-z0-9-]))*\.([a-z]{2,6})(\/?)$


3. Проверки корректности номера телефона
Валидирует такой номер: +38(044)777-77-77
^\+\d{2}\(\d{3}\)\d{3}-\d{2}-\d{2}$
 
Валидирует номер: +380447777777
~[^\+\*|^0-9]~is
 
4. Проверки паролей:
Пароль из 6 символов. Допускаются латинские буквы (без учета регистра), цифры, нижнее подчеркивание
^[a-zA-Z0-9_]{6,18}$
 
5. Проверки имен, фамилий, ников
Простая проверка ФИО (не работает с англоязычными и именами с тире)
^[А-я]+ [А-я]+ [А-я]+$
Проверка ника с англ. и русскими буквами, "_" или "-" без спецсимволов.
^[а-яА-Яa-zA-Z0-9_-]+$
 
6. Регулярные выражения для работы с текстом:
Поиск вхождений BBcode в тексте
|[[\/\!]*?[^\[\]]*?]|si
 
Не заявляю, что они "самые правильные" и учтены все варианты входящих данных, но и эти примеры имеют шанс на использование в исходном и модифицированном виде. Если только их не съел парсер winked