filter_var - PHP函数

filter_var | 参考一 | 参考二

  • filter_var 函数
# 使用举例
# php - filter 参数 

# >> - - - - - - <<
# FILTER_CALLBACK  - - - 调用用户自定义函数处理数据
function checkVar($value){
    echo $value;  // [email protected]
}
//> 变量
$var = "[email protected]";
filter_var($var,FILTER_CALLBACK,array('options'=>'checkVar'));

# >> - - - - - - <<
# FILTER_VALIDATE_INT  - - - 在指定的范围以整数验证值
$integer = 12;
// FILTER_VALIDATE_INT 验证成功返回指定的$integer值
// FILTER_VALIDATE_INT 如果存在default参数,验证失败时返回指定default值
// FILTER_VALIDATE_INT 如果不存在default参数,验证失败时返回false值
$mix = filter_var($integer,FILTER_VALIDATE_INT,array(
    'options' => array(
        'min_range' => 0,
        'max_range' => 11,
        'default' => 6  //> 当前验证失败时返回指定值
    ),
    // 非必选 - 如省略,默认采用十进制比较
    // FILTER_FLAG_ALLOW_OCTAL 采用八进制 进行比较
    // FILTER_FLAG_ALLOW_HEX 采用十六进制进行比较
    'flags' => FILTER_FLAG_ALLOW_OCTAL, ));

var_dump($mix); // 6

# >> - - - - - - <<
# FILTER_VALIDATE_IP  - - -  把值作为IP地址来验证
$ip = "192.168.0.1";
// FILTER_VALIDATE_IP 验证成功返回当前$ip值
// FILTER_VALIDATE_IP 验证失败时返回false值
$result = filter_var($ip,FILTER_VALIDATE_IP);  // 192.168.0.1
var_dump( $result );
// FILTER_VALIDATE_IP 默认采用ip4验证 支持一下其他验证FLAG
// FILTER_FLAG_IPV4  ip4地址验证
// FILTER_FALG_IPV6  ip6地址验证
// FILTER_FLAG_NO_PRIV_RANGE  过滤私有地址 (百度)
// FILTER_FLAG_NO_RES_RANGE  过滤保留地址 (百度)
$result = filter_var($ip,FILTER_VALIDATE_IP,FILTER_FLAG_IPV6);  // false

# >> - - - - - - <<
# FILTER_VALIDATE_URL  - - -  把值作为url来验证
$url = "https://tianfumeishi.cn/a/l?a=12";
// 省略第三个参数:默认验证所有的url地址
$uriResult = filter_var($url,FILTER_VALIDATE_URL);
var_dump($uriResult);
// FILTER_VALIDATE_URL 支持flag参数 (用于第三个参数)
// FILTER_FLAG_QUERY_REQUIRED 要求url中必须包含查询字符串 (验证?结尾的url地址)
// FILTER_FLAG_PATH_REQUIRED 要求格式必须包含为/结尾的路径或者包含文件 (验证域名后紧跟(如/index)参数的地址)

# >> - - - - - - <<
# FILTER_VALIDATE_REGEXP  - - -  使用正则验证值
$reg = "12Sd*";
// FILTER_VALIDATE_REGEXP 验证成功返回当前验证值
// FILTER_VALIDATE_REGEXP 验证失败返回false值
$regResult = filter_var($reg,FILTER_VALIDATE_REGEXP,array(
    'options' => array('regexp'=>"/^[\d]{0,2}[a-zA-Z]{0,2}\*$/")
));
var_dump($regResult); // 12Sd*
# 更多使用案例 参考 参考文档和手册

你可能感兴趣的:(filter_var - PHP函数)