php过滤器filter验证邮箱、url和ip地址等

发布时间:2020-07-03编辑:脚本学堂
在php中使用内置的函数库filter来验证邮箱、url和ip地址格式,有需要的朋友参考下。

1、验证邮箱
 

复制代码 代码示例:
$email = 'sjlinyu@qq.com';
$result = filter_var($email, FILTER_VALIDATE_EMAIL);
var_dump($result); //string(14) "sjlinyu@qq.com"
 

对于filter_var这个函数,如果验证通过则会返回验证对象,否则返回false。

2、验证url地址
 

复制代码 代码示例:
$url = "http://www.jb200.com";
$result = filter_var($url, FILTER_VALIDATE_URL);
var_dump($result); //string(22) "http://www.jb200.com"
 

3、验证IP地址
 

复制代码 代码示例:
$url = "192.168.1.110";
$result = filter_var($url, FILTER_VALIDATE_IP);
var_dump($result); //string(13) "192.168.1.110"
 

值的一提的是,这方法也可以用来验证ipv6。
 

复制代码 代码示例:
$url = "2001:DB8:2de::e13";
$result = filter_var($url, FILTER_VALIDATE_IP);
var_dump($result); //string(17) "2001:DB8:2de::e13"
 

4、验证数值是否为整数,并且在一个整数区间内
 

复制代码 代码示例:
$i = '010';
$result = filter_var(
    $i,
    FILTER_VALIDATE_INT,
    //设定校验的数值范围
    array(
      'options' => array('min_range' => 1, 'max_range' => 100)
)
);
var_dump($result);//bool(false)
 

php的变量是弱类型,如果不用过滤器,直接使用大于小于符号判断的话会是真的。
 

复制代码 代码示例:
$i = '010';
$result = $i >= 1 && $i <= 100;
var_dump($result);//bool(true)
 

5、验证浮点数
 

复制代码 代码示例:
$float = 12.312;
$result = filter_var($float, FILTER_VALIDATE_FLOAT);
var_dump($result); //float(12.312)
 

在做一些金额方面的验证时,经常需要验证金额是否为浮点数。

总结
php中的filter过滤器虽然比较冷门,但是功能还是蛮强大的。
除了上述这些功能外,还有一些过滤输入的功能,可查阅php手册