PHP FILTER_VALIDATE_IP 过滤器

定义和用法

FILTER_VALIDATE_IP 过滤器把值作为 IP 进行验证。

  • Name: "validate_ip"
  • ID-number: 275

可能的标志:

  • 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 值。

例子

例子 1

  1. <?php
  2. $ip = "192.168.0.1";
  3.  
  4. if(!filter_var($ip, FILTER_VALIDATE_IP))
  5. {
  6. echo "IP is not valid";
  7. }
  8. else
  9. {
  10. echo "IP is valid";
  11. }
  12. ?>

输出:

  1. IP is valid

例子 2

  1. <?php
  2. $ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334";
  3.  
  4. if(!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
  5. {
  6. echo "IP is not valid";
  7. }
  8. else
  9. {
  10. echo "IP is valid";
  11. }
  12. ?>

输出:

  1. IP is valid