php使用preg_match()函數實現驗證ip地址的方法

來源:互聯網
上載者:User
這篇文章主要介紹了php使用preg_match()函數驗證ip地址的方法,涉及php針對數字及字串的正則匹配操作相關技巧,需要的朋友可以參考下

本文執行個體講述了php使用preg_match()函數驗證ip地址的方法。分享給大家供大家參考,具體如下:

代碼一、正則實現

preg_match('/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/', $ipAddress);

代碼二、

<?php/**@return Boolen*@param String $ip 要匹配的ip地址*@param String $pat 匹配的正則規則*@param Boolen 匹配成功後返回的布爾值*preg_match()*0為不成功,1為成功*/function fun($ip){  //0.0.0.0--- 255.255.255.255  $pat = "/^(((1?\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((1?\d{1,2})|(2[0-4]\d)|(25[0-5]))$/";  if(preg_match($pat,$ip)){   $num = preg_match($pat,$ip);   return $num;  }else{   $num = preg_match($pat,$ip);   return $num;  }}echo fun("255.255.255.255");

正則的效率是在比不上原生的,所以丟個連結(過濾器函數)走人。

過濾器的選項,比如可以過濾私人IP地址等。

用法參考Validating an IP address with PHP's filter_var function

php如何判斷IP為有效IP地址

多數人看到這篇日誌,第一印象肯定是以為是要講如何通過Regex來判斷。

非也,在php5.2.0之後,有專門的函數來做這個判斷了。

判斷是否是合法IP

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

判斷是否是合法的IPv4 IP地址

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {// 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}

以上就是本文的全部內容,希望對大家的學習有所協助。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.