校验ip地址的合法性,无需自己运用正则进行判断,php有专门的函数进行校验。
判断是否是合法IP
if( filter_var($ip, FILTER_VALIDATE_IP) ) { var_dump('ok'); } else { var_dump('illegal'); }
判断是否是合法的IPv4 IP地址
if( filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) ) { var_dump('ok'); } else { var_dump('illegal'); }
断是否是合法的公共IPv4地址,192.168.1.1这类的私有IP地址将会排除在外
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)) { var_dump('ok'); } else { var_dump('illegal'); }
判断是否是合法的IPv6地址
if( filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE) ) { var_dump('ok'); } else { var_dump('illegal'); }
判断是否是public IPv4 IP或者是合法的Public IPv6 IP地址
if( filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) ) { var_dump('ok'); } else { var_dump('illegal'); }