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

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

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

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

Перед сравнением строковые значения обрезаются с помощью функции trim().

FILTER_VALIDATE_DOMAIN "validate_domain" default FILTER_FLAG_HOSTNAME, FILTER_NULL_ON_FAILURE

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

Проверяет доменные имена на соответствие 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, FILTER_NULL_ON_FAILURE

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

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

FILTER_VALIDATE_FLOAT "float" default, decimal, min_range, max_range FILTER_FLAG_ALLOW_THOUSAND, FILTER_NULL_ON_FAILURE

Проверяет, что значение является корректным числом с плавающей точкой, и, при необходимости, входит в определённый диапазон, в случае успешной проверки преобразует в число с плавающей точкой.

Перед сравнением строковые значения обрезаются с помощью функции trim().

FILTER_VALIDATE_INT "int" default, min_range, max_range FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX, FILTER_NULL_ON_FAILURE

Проверяет, что значение является корректным целым числом, и, при необходимости, входит в определённый диапазон, в случае успешной проверки преобразует в целое число.

Перед сравнением строковые значения обрезаются с помощью функции trim().

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

Замечание:

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

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

Версия Описание
8.0.0 Флаги FILTER_FLAG_SCHEME_REQUIRED и FILTER_FLAG_HOST_REQUIRED для фильтра FILTER_VALIDATE_URL были удалены. Флаги scheme и host являются (и были) всегда обязательными.
8.0.0 Добавлена константа FILTER_VALIDATE_BOOL как псевдоним FILTER_VALIDATE_BOOLEAN. Предпочтительнее использовать FILTER_VALIDATE_BOOL.
7.4.0 Добавлены опции min_range и max_range для FILTER_VALIDATE_FLOAT.
7.0.0 Добавлена константа FILTER_FLAG_HOSTNAME и FILTER_VALIDATE_DOMAIN.