验证过滤器

用于验证的过滤器列表
ID 名称 选项 flag 说明
FILTER_VALIDATE_BOOLEANFILTER_VALIDATE_BOOL "boolean" default FILTER_NULL_ON_FAILURE

"1"、"true"、"on" 和 "yes" 时返回 true,否则返回 false

如果设置了 FILTER_NULL_ON_FAILURE,仅当 "0"、"false"、"off"、"no" 和 "" 时才会返回 false,其它非布尔值都会返回 null

字符串在对比前会使用 trim() 修剪。

FILTER_VALIDATE_DOMAIN "validate_domain" default FILTER_FLAG_HOSTNAMEFILTER_NULL_ON_FAILURE

验证域名标签的长度是否有效。

根据 RFC 1034、RFC 1035、RFC 952、RFC 1123、RFC 2732、RFC 2181 和 RFC 1123 的规范验证域名。可选的 flag FILTER_FLAG_HOSTNAME 会添加验证主机名的能力(它们必须以字母数字字符开头,并且只能包含字母数字字符或连字符)。

FILTER_VALIDATE_EMAIL "validate_email" default FILTER_FLAG_EMAIL_UNICODEFILTER_NULL_ON_FAILURE

验证值是否是有效的电子邮件地址。

一般情况下,这将根据 » RFC 822 对电子邮件地址进行验证,使用 addr-spec 语法,并且不支持注释、空白折叠和无点域名的例外情况。

FILTER_VALIDATE_FLOAT "float" defaultdecimalmin_rangemax_range FILTER_FLAG_ALLOW_THOUSANDFILTER_NULL_ON_FAILURE

将值作为浮点数验证,并且可选择在指定范围内进行验证,在验证成功后将其转换为浮点数。

字符串在对比前会使用 trim() 修剪。

FILTER_VALIDATE_INT "int" defaultmin_rangemax_range FILTER_FLAG_ALLOW_OCTALFILTER_FLAG_ALLOW_HEXFILTER_NULL_ON_FAILURE

将值作为整数验证,并且可选择在指定范围内进行验证,在验证成功后将其转换为整数。

字符串在对比前会使用 trim() 修剪。

FILTER_VALIDATE_IP "validate_ip" default FILTER_FLAG_IPV4FILTER_FLAG_IPV6FILTER_FLAG_NO_PRIV_RANGEFILTER_FLAG_NO_RES_RANGEFILTER_FLAG_GLOBAL_RANGEFILTER_NULL_ON_FAILURE 将值作为 IP 地址验证,可选择仅验证 IPv4、IPv6 或不验证私有、保留范围。
FILTER_VALIDATE_MAC "validate_mac_address" default FILTER_NULL_ON_FAILURE 将值作为 MAC 地址验证。
FILTER_VALIDATE_REGEXP "validate_regexp" defaultregexp FILTER_NULL_ON_FAILURE 根据 regexpPerl 兼容的正则表达式)验证值。
FILTER_VALIDATE_URL "validate_url" default FILTER_FLAG_SCHEME_REQUIREDFILTER_FLAG_HOST_REQUIREDFILTER_FLAG_PATH_REQUIREDFILTER_FLAG_QUERY_REQUIREDFILTER_NULL_ON_FAILURE 验证值是否为 URL(根据 » http://www.faqs.org/rfcs/rfc2396),并可选择验证 URL 所需的组件。请注意,有效的 URL 可能不会指定 HTTP 协议(http://),因此可能需要进一步验证以确定 URL 是否使用了期望的协议,如 ssh://mailto:。请注意,该函数只会认为 ASCII 编码的 URL 是有效的;国际化域名(包含非 ASCII 字符)将无法通过验证。

注意:

当将 default 设置到选项,如果值未通过验证,将使用 default 的值。

更新日志

版本 说明
8.0.0 FILTER_VALIDATE_URL 过滤器移除 FILTER_FLAG_SCHEME_REQUIREDFILTER_FLAG_HOST_REQUIRED flag。 schemehost 始终(一直以来)必需。
8.0.0 新增 FILTER_VALIDATE_BOOL 作为 FILTER_VALIDATE_BOOLEAN 的别名。优先使用 FILTER_VALIDATE_BOOL
7.4.0 FILTER_VALIDATE_FLOAT 新增 min_rangemax_range 选项。
7.0.0 新增 FILTER_FLAG_HOSTNAMEFILTER_VALIDATE_DOMAIN