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)
- 最新评论