Heim  >  Artikel  >  php教程  >  php判断ip地址正则表达式例子

php判断ip地址正则表达式例子

WBOY
WBOYOriginal
2016-06-08 17:22:311360Durchsuche

在php中中有自定义函数可以帮我人判断IP地址,也有我们常用的正则函数来判断IP地址,下面我分别来给各位同学总结了验证IP地址的一些方法。

<script>ec(2);</script>

filter函数过滤ip地址的方法:

 代码如下 复制代码

echo filter_var("127.0.0.1","FILTER_VALIDATE_INT"); //返回true or false

例子。

判断是否是合法IP

 代码如下 复制代码

if(filter_var($ip, FILTER_VALIDATE_IP)) {
// 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
}

简单的正则

preg_match("/d{1,3}.d{1,3}.d{1,3}.d{1,3}/");// 此方法没不精确,学最大为255.255.255.255 但这个只是验证格式了,如999.999.999.999也可以通过验证。

我们进入升级改进

 代码如下 复制代码

functionis_ip($gonten){ 
$ip=explode(”.”,$gonten); 
for($i=0;$i
if($ip[$i]>255){ 
return(0); 


return ereg(”^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$”,$gonten); 
}

这样就符合我们的要求了

再介绍一种用判断ip地址:

 代码如下 复制代码


function matchip($q){
preg_match('/((25[0-5])|(2[0-4]d)|(1dd)|([1-9]d)|d)(.((25[0-5])|(2[0-4]d)|(1dd)|([1-9]d)|d)){3}/', $q, $matches);
return $matches[0];
}

$ipaddress = '201.103.2.2';
$iperror ='262.3.6.6';
$iptest = matchip( $ipaddress );
//当我们给matchip 的值为$ipaddress输出为201.103.2.2
//当我们给matchip的函数值为$iperror时,输出值为 62.3.6.6

if( $iptest )
{
 echo $iptest;
}
else
{
 echo 'www.111cn.net提示:你输的的ip地址有问题';
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn