<kbd id='woaibaidu'></kbd><address id='woaibaidu'><style id='woaibaidu'></style></address><button id='woaibaidu'></button>

          当前位置:主页 > 网络编程 > PHP编程 >
            php 判断IP为有效IP地址的方法
            2018-01-29 22:01 发布 次浏览

          少数人看到这篇日志,第1印象一定是以为是要讲如何经过正则表达式来判别。

          非也,在php5.2.0以后,有专门的函数来做这个判别了。

          判别能否是正当IP

          if(filter_var($ip, FILTER_VALIDATE_IP)) {
          // it's valid
          }
          else {
          // it's not valid
          }

          判别能否是正当的IPv4 IP地址

          if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
          // it's valid
          }
          else {
          // it's not valid
          }

          判别能否是正当的公共IPv4地址,192.168.1.1这类的公有IP地址将会扫除在外

          if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)) {
          // it's valid
          }
          else {
          // it's not valid
          }

          判别能否是正当的IPv6地址

          if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE)) {
          // it's valid
          }
          else {
          // it's not valid
          }

          判别能否是public IPv4 IP或许是正当的Public IPv6 IP地址

          if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
          // it's valid
          }
          else {
          // it's not valid
          }

          本文泉源:http://www.electrictoolbox.com/php-validate-ip-address-filter-var/

          通常状况下,我们可以选择运用正则表达式完成,详细的可以参考这篇文章。