php判斷ip地址Regex例子

來源:互聯網
上載者:User

filter函數過濾ip地址的方法:

 代碼如下 複製代碼

echo filter_var("127.0.0.1","FILTER_VALIDATE_INT"); //返回true or false

例子。

判斷是否是合法IP

 代碼如下 複製代碼

if(filter_var($ip, FILTER_VALIDATE_IP)) {
// it's valid
}
else {
// it's not valid
}

判斷是否是合法的公用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
}

判斷是否是合法的IPv6地址

 代碼如下 複製代碼
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE)) {
// it's valid
}
else {
// it's not valid
}

判斷是否是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
}

簡單的正則

preg_match("/d{1,3}.d{1,3}.d{1,3}.d{1,3}/");// 此方法沒不精確,學最大為255.255.255.255 但這個只是驗證格式了,如999.999.999.999也可以通過驗證。

我們進入升級改進

 代碼如下 複製代碼

functionis_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); 
}

這樣就符合我們的要求了

再介紹一種用判斷ip地址:

 代碼如下 複製代碼


function matchip($q){
preg_match('/((25[0-5])|(2[0-4]d)|(1dd)|([1-9]d)|d)(.((25[0-5])|(2[0-4]d)|(1dd)|([1-9]d)|d)){3}/', $q, $matches);
return $matches[0];
}

$ipaddress = '201.103.2.2';
$iperror ='262.3.6.6';
$iptest = matchip( $ipaddress );
//當我們給matchip 的值為$ipaddress輸出為201.103.2.2
//當我們給matchip的函數值為$iperror時,輸出值為 62.3.6.6

if( $iptest )
{
 echo $iptest;
}
else
{
 echo 'www.111cn.net提示:你輸的的ip地址有問題';
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.