快捷搜索:   nginx

PHP判断IP地址的方法 判断IP地址格式是否正确的方法(函数与正则)

一、正则表达式


function isOk_ip($ip){  
 if(preg_match('/^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1 -9]?\d))))$/', $ip))  
{  
return 1;  
}else{  
return 0;  
}  
}



二、系统函数


$ip = '192.168.0.1111111';  
$test = filter_var($ip, FILTER_VALIDATE_IP);  
var_dump($test);


filter_var是php5.2.0后开始支持的一个判断IP地址是否正确的函数


有以下几个用法

1、判断是否合法的IP地址

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


2、判断是否是合法的IPv4 IP地址


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

3、判断是否是合法的公共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
}


4、判断是否是合法的IPv6地址


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

5、判断是否是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
}


顶(1)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论