A-A+

php使用filter过滤器验证邮箱 ipv6地址 url验证

2020年08月16日 我爱编程 暂无评论

原来判断邮箱、url和ip地址格式是否符合都是用正则表达式,后来才知道在php中也可以使用内置的函数库filter来完成这些功能,下面分享给大家.

1、验证邮箱,代码如下:

  1. $email = [email protected]';
  2. $result = filter_var($email, FILTER_VALIDATE_EMAIL);
  3. var_dump($result); //string(14) "[email protected]

2、验证url地址,代码如下:

  1. $url = "https://www.kexuesw520.com";
  2. $result = filter_var($url, FILTER_VALIDATE_URL);
  3. var_dump($result); //string(22) "https://www.phpfensi.com" 

3、验证ip地址,代码如下:

  1. $url = "192.168.1.110";
  2. $result = filter_var($url, FILTER_VALIDATE_IP);
  3. var_dump($result); //string(13) "192.168.1.110" 

值的一提的是,这方法也可以用来验证ipv6,代码如下:

  1. $url = "2001:DB8:2de::e13";
  2. $result = filter_var($url, FILTER_VALIDATE_IP);
  3. var_dump($result); //string(17) "2001:DB8:2de::e13" 

4、验证数值是否为整数,并且在一个整数区间内,代码如下:

  1. $i = '010';
  2. $result = filter_var(
  3.     $i,
  4.     FILTER_VALIDATE_INT,
  5.     //设定校验的数值范围
  6.     array(
  7.       'options' => array('min_range' => 1, 'max_range' => 100)
  8.     )
  9. );
  10. var_dump($result);//bool(false) 

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

  1. $i = '010';
  2. $result = $i >= 1 && $i <= 100;
  3. var_dump($result);//bool(true) 

5、验证浮点数,代码如下:

  1. $float = 12.312;
  2. $result = filter_var($float, FILTER_VALIDATE_FLOAT);
  3. var_dump($result); //float(12.312)

给我留言

Copyright © 四季博客 保留所有权利.   Theme  Ality

用户登录