Проверка данных на регулярных выражениях

Сборник регулярных выражений с примерами на PHP для проверки данных из полей форм.

Проверка чисел

$text = '1';
if (preg_match("/^\d+$/", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP

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

$text = '-1.0';
if (preg_match("/^\-?\d+(\.\d{0,})?$/", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP

Валидация дат

Формат DD.MM.YYYY

$text = '02.12.2018';
if (preg_match("/^(0[1-9]|[12][0-9]|3[01])[\.](0[1-9]|1[012])[\.](19|20)\d\d$/", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP
Формат MySQL YYYY-MM-DD
$text = '2018-04-02';
if (preg_match("/^[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])$/", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP

Проверка номера телефона

Ориентировано на российские мобильные + городские с кодом из 3 цифр.

$text = '+7(495)000-00-00';
if (preg_match("/^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP

E-mail

$text = 'info@snipp.ru';
if (preg_match("/^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$/", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP

Регулярное выражение для проверки md5-хэша

$text = 'ca040cb5d6c2ba8909417ef6b8810e2e';
if (preg_match("/^[a-f0-9]{32}$/", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP

Цвета

Шестнадцатеричные коды цветов #FFF и #FFFFFF.

$text = '#fff';
if (preg_match("/^#(?:(?:[a-fd]{3}){1,2})$/i", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP

Проверка IP адресов

IPv4 адрес:

$text = '192.168.0.1';
if (preg_match("/^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$/", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP

IPv6 адрес:

$text = '2001:DB8:3C4D:7777:260:3EFF:FE15:9501';
if (preg_match("/((^|:)([0-9a-fA-F]{0,4})){1,8}$/i", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP
14.06.2018, обновлено 10.09.2019 1744

Поделится

Другие публикации

PHP функции для транслита текста на русском языке по ГОСТ 7.79-2000 (ИСО 9-95) система «Б»
PHP функции для исправление неправильной раскладки клавиатуры в тексте и использование их в поиске по сайту.