名称 | id | 说明 | 选项options | 标记flags |
整型验证过滤器(int) | 257 | 验证值是否为整数,验证成功后转为整型值。 | default:如果验证失败则返回指定的默认值。 min_range:指定整数的最小值。 max_range:正定整数的最大值。 | FILTER_FLAG_ALLOW_OCTAL FILTER_FLAG_ALLOW_HEX |
布尔验证过滤器(boolean) | 258 | 验证值是否为布尔值,验证成功后转为整型值。如果值为1、true、on或者yes则返回true,否则返回false。 | default:如果验证失败则返回指定的默认值。 | FILTER_NULL_ON_FAILURE |
浮点验证过滤器(float) | 259 | 验证值是否为浮点数,验证成功后转为浮点型值。 | default:如果验证失败则返回指定的默认值。 decimal:指定小数点符号,默认为“,”。 | FILTER_FLAG_ALLOW_THOUSAND |
正则验证过滤器(validate_regexp) | 272 | 使用正则表达式验证值。 | default:如果验证失败则返回指定的默认值。 regexp:验证时使用的正则表达式。必须要有此选项,否则会产生警告并返回false。 | |
URL地址验证过滤器(validate_url) | 273 | 验证值是否为URL地址,验证成功后返回URL地址。PHP5.2.1起隐式的使用 FILTER_FLAG_SCHEME_REQUIRED和FILTER_FLAG_SCHEME_REQUIRED标记。 | default:如果验证失败则返回指定的默认值。 | FILTER_FLAG_SCHEME_REQUIRED FILTER_FLAG_HOST_REQUIRED FILTER_FLAG_QUERY_REQUIRED |
邮件地址验证过滤器(validate_email) | 274 | 验证值是否为邮件地址,验证成功后返回邮件地址。不支持注释、空格折叠和无点域名。 | default:如果验证失败则返回指定的默认值。 | FILTER_FLAG_EMAIL_UNICODE |
IP地址验证过滤器(validate_ip) | 275 | 验证值是否为IP地址,验证成功后返回IP地址。 | default:如果验证失败则返回指定的默认值。 | FILTER_FLAG_IPV4 FILTER_FLAG_IPV6 FILTER_FLAG_NO_PRIV_RANGE FILTER_FLAG_NO_RES_RANGE |
MAC地址验证过滤器(validate_ip) | 276 | 验证值是否为MAC地址,验证成功后返回MAC地址。 | default:如果验证失败则返回指定的默认值。 | |
域名验证过滤器(validate_domain) | 277 | 验证域名标签长度是否有效,验证成功后返回域名。 | default:如果验证失败则返回指定的默认值。 | FILTER_FLAG_HOSTNAME |
PHP5.4.11之前+0和-0只会被验证为浮点型,之后则会被验证为浮点型和整型。
<?php
$int_ops=array(
'options'=>array(
'default'=>5,
'min_range'=>5
),
'flags'=>FILTER_FLAG_ALLOW_OCTAL
);
$float_ops=array(
'options'=>array(
'decimal'=>'%')
);
$regex_ops=array(
'options'=>array(
'regexp'=>"#[a-z]#")
);
$url_ops=array(
'flags'=>FILTER_FLAG_PATH_REQUIRED|FILTER_FLAG_QUERY_REQUIRED
);
$domain_ops=array(
'flags'=>FILTER_FLAG_HOSTNAME
);
var_dump(filter_var('1',FILTER_VALIDATE_INT,$int_ops));
var_dump(filter_var('011',FILTER_VALIDATE_INT,$int_ops));
var_dump(filter_var('011',FILTER_VALIDATE_BOOLEAN));
var_dump(filter_var('1',FILTER_VALIDATE_BOOLEAN));
var_dump(filter_var('11,231%23',FILTER_VALIDATE_FLOAT,$float_ops));
var_dump(filter_var('1.23',FILTER_VALIDATE_FLOAT,$float_ops));
var_dump(filter_var('abaxs',FILTER_VALIDATE_REGEXP,$regex_ops));
var_dump(filter_var('http://a/s?z',FILTER_VALIDATE_URL,$url_ops));
var_dump(filter_var('http://a/s',FILTER_VALIDATE_URL,$url_ops));
var_dump(filter_var('a@b.com',FILTER_VALIDATE_EMAIL));
var_dump(filter_var('a@b',FILTER_VALIDATE_EMAIL));
var_dump(filter_var('256.233.445.55',FILTER_VALIDATE_IP));
var_dump(filter_var('192.168.0.1',FILTER_VALIDATE_IP));
var_dump(filter_var('5C-26-0A-7F-0C-E0',FILTER_VALIDATE_MAC));
var_dump(filter_var('local12123',FILTER_VALIDATE_DOMAIN,$domain_ops));
?>