我遇到了一个奇怪的IP,它在八位字节中有冗余的零值。无论如何要正确验证这是一个IP还是使用正则表达式去除那些冗余的零?验证特殊形式的IP地址
例子是如下: .215.239(在第二八位位组“064”注意到额外的零的)。
我确实有一个工作IP验证功能,但由于正则表达式的性质无法接受额外的零,因此无法正确验证此Ip。以下是PHP中的代码:
function valid_ip($ip) {
return preg_match("/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" .
"(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/", $ip);
}
感谢您的任何帮助提前窥视! :d
出于好奇,为什么你想验证一个IP地址?这通常不由用户输入。 – NullUserException
恩,我正在筛选从网站中提取的结果。在这个结果是日期等等等等,我尝试只提取IP :( – phpnoob