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

jerry thinkphp 2015年11月18日 收藏
自己平时项目中有时也会用到,php内置函数!

  1. 1、验证邮箱
  2. $email = 'sjlinyu@qq.com';
  3. $result = filter_var($email, FILTER_VALIDATE_EMAIL);
  4. var_dump($result); //string(14) "sjlinyu@qq.com" 
  5. 对于filter_var这个函数,如果验证通过则会返回验证对象,否则返回false

    2、验证url地址
  6. $url = "http://www.baidu.com";
  7. $result = filter_var($url, FILTER_VALIDATE_URL);
  8. var_dump($result); //"http://www.baidu.com" 

    3、验证ip地址
  9. $url = "192.168.1.110";
  10. $result = filter_var($url, FILTER_VALIDATE_IP);
  11. var_dump($result); //string(13) "192.168.1.110" 
  12. 这方法也可以用来验证ipv6
  13. $url = "2001:DB8:2de::e13";
  14. $result = filter_var($url, FILTER_VALIDATE_IP);
  15. var_dump($result); //string(17) "2001:DB8:2de::e13" 

    4、验证数值是否为整数,并且在一个整数区间内
  16. $i = '010';
  17. $result = filter_var(
  18.     $i,
  19.     FILTER_VALIDATE_INT,
  20.     //设定校验的数值范围
  21.     array(
  22.       'options' => array('min_range' => 1, 'max_range' => 100)
  23.     )
  24. );
  25. var_dump($result);//bool(false) 

  26. php的变量是弱类型,如果不用过滤器,直接使用大于小于符号判断的话会是真的。
  27. $i = '010';
  28. $result = $i >= 1 && $i <= 100;
  29. var_dump($result);//bool(true) 

    5、验证浮点数
  30. $float = 12.312;
  31. $result = filter_var($float, FILTER_VALIDATE_FLOAT);
  32. var_dump($result); //float(12.312)
  33. 在做一些金额方面的验证时,经常需要验证金额是否为浮点数。