PHP验证过滤器Validate filters

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/asty9000/article/details/83211135
名称 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_PATH_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('[email protected]',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));
?>

猜你喜欢

转载自blog.csdn.net/asty9000/article/details/83211135