1. 程式人生 > >PHP驗證過濾器Validate filters

PHP驗證過濾器Validate filters

名稱 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('[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));
?>