/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/您试一下哦!可能有点长了,我曾今在一本书上看到一个很短的例子一个老外边的,而且有反馈的信息的!
调试欢乐多
<?
$num="([0-9]|[0-9]{2}|1\d\d|2[0-4]\d|25[0-5])";
/*
[0-9] => numbers 0-9
[0-9]{2} => numbers 0-99 --> This is missing in satch666 code. It means, that if you write IP 25.213.110.1 function return FALSE!
1\d\d => numbers 100-199
2[0-4]\d => numbers 200-249
25[0-5] => numbers 250-255
*/if (!preg_match("/^$num\.$num\.$num\.$num$/", $$ip_addr)) echo "Wrong IP Address\n";
?>