Фильтры валидации данных

Список фильтров валидации данных
Идентификатор Имя Параметры Флаги Описание
FILTER_VALIDATE_BOOLEAN "boolean" default FILTER_NULL_ON_FAILURE

Возвращает TRUE для значений "1", "true", "on" и "yes". Иначе возвращает FALSE.

Если установлен флаг FILTER_NULL_ON_FAILURE, то FALSE возвращается только для значений "0", "false", "off", "no" и "", а NULL будет возвращен для всех небулевых значений.

FILTER_VALIDATE_DOMAIN "validate_domain" default FILTER_FLAG_HOSTNAME

Проверяет, корректны ли длины меток имен домена.

Проверяет доменные имена на соответствие RFC 1034, RFC 1035, RFC 952, RFC 1123, RFC 2732, RFC 2181 и RFC 1123. Опциональный флаг FILTER_FLAG_HOSTNAME добавляет возможность специально проверять имена хостов (они должны начинаться с букв, либо цифр и содержать только буквы, цифры и тире).

FILTER_VALIDATE_EMAIL "validate_email" default FILTER_FLAG_EMAIL_UNICODE

Проверяет, что значение является корректным e-mail.

В целом, происходит проверка синтаксиса адреса в соответствии с RFC 822, за исключением того, что не поддерживаются комментарии, схлопывание пробельных символов и доменные имена без точек.

FILTER_VALIDATE_FLOAT "float" default, decimal FILTER_FLAG_ALLOW_THOUSAND Проверяет, что значение является корректным числом с плавающей точкой.
FILTER_VALIDATE_INT "int" default, min_range, max_range FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX Проверяет, что значение является корректным целым числом, и, при необходимости, входит в определенный диапазон, при успешной проверке преобразует в целое число.
FILTER_VALIDATE_IP "validate_ip" default FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE Проверяет, что значение является корректным IP-адресом, при необходимости только для протоколов IPv4 или IPv6, а также отсутствие вхождения в частные или зарезервированные диапазоны.
FILTER_VALIDATE_MAC "validate_mac_address" default   Проверяет, что значение - это корректный MAC-адрес.
FILTER_VALIDATE_REGEXP "validate_regexp" default, regexp   Проверяет значение на соответствие regexp, Perl-совместимому регулярному выражению.
FILTER_VALIDATE_URL "validate_url" default FILTER_FLAG_SCHEME_REQUIRED, FILTER_FLAG_HOST_REQUIRED, FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED Проверяет значение как URL (в соответствии с » http://www.faqs.org/rfcs/rfc2396), опционально с требуемыми компонентами. Помните, что URL не содержащий имя протокола http:// является корректный, так что может потребоваться дополнительная проверка того, что URL использует требуемый протокол, например ssh:// или mailto:. Обратите внимание, что эта функция считает корректными только URL, состоящие из символов ASCII; Интернациональные доменные имена не пройдут проверку.

Замечание:

С PHP 5.4.11 числа +0 и -0 проверяются как целые числа, так и числа с плавающей запятой (FILTER_VALIDATE_FLOAT и FILTER_VALIDATE_INT). До PHP 5.4.11 они проходили проверку только как числа с плавающей запятой (FILTER_VALIDATE_FLOAT).

Если задан default, то значение default будет подставлено, если проверка провалилась.

Список изменений

Версия Описание
7.0.0 Добавлена константа FILTER_FLAG_HOSTNAME
5.5.0 Добавлена константа FILTER_VALIDATE_MAC
5.2.1 Константа FILTER_VALIDATE_URL теперь неявно использует FILTER_FLAG_SCHEME_REQUIRED и FILTER_FLAG_HOST_REQUIRED.