巧用PHPRegex判斷IP地址

來源:互聯網
上載者:User

學習PHP時,你可能會遇到判斷PHPRegex問題,這裡將介紹PHPRegex問題的解決方案,在這裡拿出來和大家分享一下。在一些查詢網站和搜尋引擎,常常用到判斷某字串是否為標準的IP地址。

比如在百度裡搜尋某IP地址,會顯示該IP的資訊,而不符合標準的IP地址是不顯示IP資訊的。這時就要判斷該字串是否為標準的IP了,最常用的方法是用PHPRegex判斷。在網上搜了一些判斷IP地址的正則,都是過於簡單的,有的只是判斷IP欄位不大於255,其實還有很多需要判斷的,比如只能是數字,且不能為負數,還有用“.”分割只有4段等等。最好我整理了一個自我感覺完美的函數,代碼如下:

 


  1. functionis_ip($gonten){  
  2. $ip=explode(”.”,$gonten);  
  3. for($i=0;$i<count($ip);$i++)  
  4. {  
  5. if($ip[$i]>255){  
  6. return(0);  
  7. }  
  8. }  
  9. returnereg(”^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$”,$gonten);  

$gonten為要查詢的字串,用is_ip($gonten)就可以判斷了,返回FALSE和TRUE。

1.eregi語句不區分大小寫判斷


  1. if(eregi("^[a-zA-Z0-9]{8,10}$","999999999"))echo"是八到十位的數字與字母"; 

2.以區分大小寫方式替換文本的ereg_replace


  1. $string="Thisisatest";  
  2. //替換is為was  
  3. echoereg_replace("is","was",$string); 

還可以使用\來反引用小括弧裡的字元0表示全部1表示第一個匹配的字串以此類推最多9個!具體手冊不區分大小寫替換文本的eregi_replace用法同上

3.區分大小寫方式劃分字串為不同元素split語句


  1. print_r(split("[\n\t]","我愛\n北京\t天安門")); 

不區分大小寫劃分:spliti語句用法同上

4.調節只支援區分大小寫Regexsql_regcase


  1. $name="xuandun";  
  2. echosql_regcase($name);  


聯繫我們

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