Зачастую при создании сайта, а в частности при создания различных веб-форм нам необходимо проверять правильность введённой информации. Для того чтобы упростить проверку можно использовать готовые паттерны для регулярных выражений. Ниже представлены наиболее популярные.

Номер кредитки:

[0-9]{13,16}

ICQ: (может ещё жива?)

([1-9])+(?:-?\d){4,}

Набор из букв и цифр (латиница):

^[a-zA-Z0-9]+$

Набор из букв и цифр (латиница + кириллица):

^[а-яА-ЯёЁa-zA-Z0-9]+$

Домен (например abcd.com):

^(\[a-zA-Z0-9\]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$

IPv4:

((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)

IPv6:

((^|:)([0-9a-fA-F]{0,4})){1,8}$

Имя пользователя (с ограничением 2-20 символов, которыми могут быть буквы и цифры, но первый символ обязательно буква):

((^|:)([0-9a-fA-F]{0,4})){1,8}$

Пароль (Строчные и прописные латинские буквы, цифры):

^(?=.\*\d)(?=.\*[a-z])(?=.\*[A-Z])(?!.\*\s).*$

Пароль (Строчные и прописные латинские буквы, цифры, спецсимволы. Минимум 8 символов):

(?=^.{8,}$)((?=.\*\d)|(?=.\*\W+))(?![.\n])(?=.\*[A-Z])(?=.\*[a-z]).*$

Дата в формате YYYY-MM-DD:

[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])

Более строгая проверка, предложенная runcore:

(19|20)\d\d-((0[1-9]|1[012])-(0[1-9]|[12]\d)|(0[13-9]|1[012])-30|(0[13578]|1[02])-31)

Дата в формате DD/MM/YYYY:

(0\[1-9]|\[12\]\[0-9\]|3[01])[- /.\](0\[1-9]|1[012])[- /.\](19|20)\d\d

Целые числа и числа с плавающей точкой (разделитель точка):

\-?\d+(\.\d{0,})?

UUID:

^[0-9A-Fa-f]{8}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{12}$

Широта или долгота:

-?\d{1,3}\.\d+

E-mail:

^\[-\w.]+@([A-z0-9\]\[-A-z0-9\]+\.)+[A-z]{2,4}$

URL на латинице. Если нужно распознавать и кириллические домены, необходимо изменить все «a-z0-9» на «а-яёa-z0-9» и добавить в список доменных зон «рф»:

~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9\_-]{1,32}(?::[a-z0-9\_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:ru|su|com|net|org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:/[a-z0-9.,_@%&?+=\~/-]\*)?(?:#[^ '\";&]\*)?$~i

Время в формате HH:MM:SS:
^([0-1]\d|2[0-3])(:[0-5]\d){2}$

Пользуйтесь на здоровье!

Комментарии