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

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

1
$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
2

Формат 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

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

$text = '+7(495)000-00-00';
if (preg_match("/^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP
4
$text = 'mail@snipp.ru';
if (preg_match("/^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$/i", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP
5

Латинские буквы, цифры, - и _.

$text = 'admin-1';
if (preg_match("/^[a-z0-9_-]{2,20}$/i", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP
6
$text = 'ca040cb5d6c2ba8909417ef6b8810e2e';
if (preg_match("/^[a-f0-9]{32}$/", $text)) {
	echo 'yes';
} else {
	echo 'no';
}
PHP
7

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

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

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, обновлено 21.12.2022
19313

Комментарии

, чтобы добавить комментарий.

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

Маски ввода для текстовых полей
Применение масок ввода у полей форм значительно упрощает их использование, уменьшает количество ошибок и приводит...
104921
+7
date() – форматирование даты PHP
date($format, $timestamp) – форматирует дату/время по шаблону, где...
66971
+2
Генерация случайных буквенно-цифровых кодов в PHP
Несколько примеров, как сгенерировать случайные последовательности численных и буквенных строк заданной длины и...
11849
+4
Работа с FTP в PHP
Протокол FTP – предназначен для передачи файлов на удаленный хост. В PHP функции для работы с FTP как правило всегда доступны и не требуется установка дополнительного расширения.
18969
+2
Виртуальные коды клавиш (Virtual-Key Codes)
В следующей таблице приведены имена констант (VK Codes), десятичные и шестнадцатеричные значения для кодов виртуальных...
42282
+12
Загрузка файлов на сервер PHP
В статье приведен пример формы и php-скрипта для безопасной загрузки файлов на сервер, возможные ошибки и рекомендации при работе с данной темой.
72981
+24