在一些查詢網站和搜索引擎,常常用到判斷某字符串是否為標准的IP地址,比如在百度裡搜索某IP地址,會顯示該IP的信息,而不符合標准的IP地址是不顯示IP信息的。這時就要判斷該字符串是否為標准的IP了,最常用的方法是用正則表達式判斷。
在網上搜了一些判斷IP地址的正則,都是過於簡單的,有的只是判斷IP字段不大於255,其實還有很多需要判斷的,比如只能是數字,且不能為負數,還有用“.”分割只有4段等等。
最好我整理了一個自我感覺完美的函數,PHP判斷字符串是否為IP的代碼如下:
- function is_ip($gonten){
- $ip = explode(”.”,$gonten);
- for($i=0;$i<count($ip);$i++)
- {
- if($ip[$i]>255){
- return (0);
- }
- }
- return ereg(”^[0-9]{1,3}.
[0-9]{1,3}.[0-9]{1,3}.[0-9]
{1,3}$”,$gonten);- }
$gonten為要查詢的字符串,用is_ip($gonten)就可以實現PHP判斷字符串是否為IP,返回FALSE和TRUE。