PHP FILTER_VALIDATE_IP 过滤器

FILTER_VALIDATE_IP 过滤器把值作为 IP 进行验证,用于验证 IP 是否合法,支持 IPV6 验证

例子

<?php
$ip = "192.168.0.1";

if(!filter_var($ip, FILTER_VALIDATE_IP))
 {
 echo "IP is not valid";
 }
else
 {
 echo "IP is valid";
 }
?>
<?php
$ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334";

if(!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
 {
 echo "IP is not valid";
 }
else
 {
 echo "IP is valid";
 }
?>

filter_var 的第三个参数可能的取值有:

  • FILTER_FLAG_IPV4 - 要求值是合法的 IPv4 IP(比如 255.255.255.255)
  • FILTER_FLAG_IPV6 - 要求值是合法的 IPv6 IP(比如 2001:0db8:85a3:08d3:1319:8a2e:0370:7334)
  • FILTER_FLAG_NO_PRIV_RANGE - 要求值是 RFC 指定的私域 IP (比如 192.168.0.1)
  • FILTER_FLAG_NO_RES_RANGE - 要求值不在保留的 IP 范围内。该标志接受 IPV4 和 IPV6 值。

参考链接:

http://www.w3school.com.cn/php/filter_validate_ip.asp

原文地址:https://www.cnblogs.com/ryanzheng/p/11084203.html