PHP驗證過濾器Validate filters
阿新 • • 發佈:2018-11-04
名稱 | 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('[email protected]',FILTER_VALIDATE_EMAIL));
var_dump(filter_var('[email protected]',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));
?>