Регулярные выражения
Регулярные выражения позволяют проверить, соответствует ли значение в переменной нужному формату или нет
Регулярное выражение - это не страшная абракадабра на эльфийском языке, а очень мощный инструмент, позволяющий проверить, соответствует ли введенная пользователем строка нужному нам формату 😎
Здесь собран список часто используемых регулярных выражений. Мы периодически обновляем его.
Важно!
Все нижеприведенные значения проверяют СТРОГОЕ СООТВЕТСТВИЕ текста в строке.
Это значит, что кроме этих символов в строке НЕ может быть других символов!
Иногда возникает необходимость проверить, содержится ли текст в нужном формате в строке, но кроме него нужно разрешить и другие символы. Например, бот должен принять ссылку на домашку и краткое описание. Текст без ссылки нужно считать некорректным.
В таком случае просто уберите символ ^ в начале регулярки и символ $ в конце, и регулярное выражение начнет проверять, СОДЕРЖИТСЯ ЛИ текст нужного формата.
^(0?[1-9]|[12][0-9]|3[01]).(0?[1-9]|1[012]).((19|20)[0-9]{2})$
Дата в формате dd mm yyyy
Разделитель - любой символ, например:
01.01.2035
31/12/2000
^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$
Время
Формат
ЧЧ:ММ
ЧЧ:ММ:СС
^\d+$
Целое число
Любое целое положительное число.
^-?\d+$
Целое число
Может быть как положительным, так и отрицательным
^(1[8-9]|[2-8][0-9]|9[0-5])$
Возраст от 18 до 95 лет
Целое число от 18 до 95
^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$
Мобильный номер телефона (Россия)
.+@.+\..+
Почта [email protected]
https?:\/\/[A-zА-яЁё0-9][A-zА-яЁё0-9\-]+\.[A-zА-яЁё0-9\-]+
Текст содержит ссылку
^[!@#$%^&*()_\-=+\\\/:;'"`<>,.№\s?\[\]{}A-zА-яЁё0-9~]+$
Текст не содержит смайлов
^((8|\+374|\+994|\+995|\+375|\+7|\+380|\+38|\+996|\+998|\+993)[\- ]?)?\(?\d{3,5}\)?[\- ]?\d{1}[\- ]?\d{1}[\- ]?\d{1}[\- ]?\d{1}[\- ]?\d{1}(([\- ]?\d{1})?[\- ]?\d{1})?$
Мобильные и городские номера России и СНГ. Армения (+374), Азербайджан (+994) Грузия (+995) Беларусь (+375) Россия/Казахстан (+7) Украина (+380, +38) Киргизия (+996) Узбекистан (+998) Туркмения (+993) Узбекистан (+998)
^[A-Za-z\d_]{5,32}$
Никнейм в Telegram
^(https?:\/\/)?([\w-]{1,32}\.[\w-]{1,32})[^\s@]*$
Проверка на ссылку
Протестировать, подходит ли вам это регулярное выражение, можно на сайте regex101.com.

В верхнем поле вставляем регулярку, в нижнем пишем свои значения. То, что подсвечивается - попало под шаблон. Строки 4 и 5 не подсвечиваются, следовательно, не подходят под регулярку.
Если вам необходима специфичная регулярка, но вы не знаете, как её составить - напишите в поддержку.
Мы всегда рады прийти на помощь! ☺️
Last updated
Was this helpful?