麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

php匹配網址的正則表達式

2024-09-04 11:47:25
字體:
來源:轉載
供稿:網友

URI 是 Web上可用的每種資源 - HTML文檔、圖像、視頻片段、程序等 - 由一個通用資源標志符(Uniform Resource Identifier, 簡稱"URI")進行定位.

對就分組:

  1. ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(?([^#]*))?(#(.*))? 
  2.  12            3  4          5       6  7        8 9 

例,代碼如下:

正則表達式 (http|ftp|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])? 

匹配 http://regxlib.com/Default.aspx | http://electronics.cnet.com/electronics/0-6342366-8-8994967-1.html 

不匹配 www.companysz.com 

正則表達式 ^/{2}[w-]+/(([w-][w-s]*[w-]+[$$]?$)|([w-][$$]?$)) 

匹配 /serverservice | /servermy service | /serv_001service$ 
不匹配 /my serverservice | /server service | /server$service

正則表達式 ^(http|https|ftp)://([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)?((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|([a-zA-Z0-9-]+.)*[a-zA-Z0-9-]+.[a-zA-Z]{2,4})(:[0-9]+)?(/[^/][a-zA-Z0-9.,?'//+&%$#=~_-@]*)*$ 

匹配 http://www.sysrage.net | https://64.81.85.161/site/file.php?cow=moo's |ftp://user:[email protected]:123 

不匹配 Vevb.com

正則表達式 ^([a-zA-Z]:|//[^//:*?"<>|]+/[^//:*?"<>|]+)(/[^//:*?"<>|]+)+(.[^//:*?"<>|]+)$ 

匹配 c:Test.txt | /serversharedTest.txt | /serversharedTest.t 

不匹配 c:Test | /servershared | /serversharedTest.?

正則表達式 ^(http|https|ftp)://([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&amp;%$-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9-]+.)*[a-zA-Z0-9-]+.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(/($|[a-zA-Z0-9.,?'/+&amp;%$#=~_-]+))*$ 

匹配 http://site.com/dir/file.php?var=moo | https://localhost |ftp://user:[email protected]:21/file/dir 

不匹配 site.com | http://site.com/dir//

正則表達式 ^([a-zA-Z]:)(/[^//:*?<>"|]*(?<![ ]))*(.[a-zA-Z]{2,6})$ 

匹配 C:di___rfi_sysle.txt | c:dirfilename.txt 

不匹配 c:dirfile?name.txt

正則表達式 ^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?.)+[a-zA-Z]{2,6}$ 

匹配 regexlib.com | this.is.a.museum | 3com.com 

不匹配 notadomain-.com | helloworld.c | .oops.org

正則表達式 ^(((ht|f)tp(s?))://)?(www.|[a-zA-Z].)[a-zA-Z0-9-.]+.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk)(:[0-9]+)*(/($|[a-zA-Z0-9.,;?'/+&amp;%$#=~_-]+))*$ 

匹配 www.blah.com:8103 | www.blah.com/blah.asp?sort=ASC |www.blah.com/blah.htm#blah 

不匹配 www.state.ga | http://www.blah.ru

正則表達式 b(([w-]+://?|www[.])[^s()<>]+(?:([wd]+)|([^[:punct:]s]|/))) 

匹配 http://foo.com/blah_blah | http://foo.com/blah_blah/ | (Something like http://foo.com/blah_blah) | http://foo.com/blah_blah_(wikipedia) | (Something like http://foo.com/blah_blah_(wikipedia)) | http://foo.com/blah_blah. |http://foo.com/blah_blah/. | <http://foo.com/blah_blah> | <http://foo.com/blah_blah/>| http://foo.com/blah_blah, | http://www.example.com/wpstyle/?p=364. | http://?df.ws/123 | rdar://1234 | rdar:/1234 | http://userid:[email protected]:8080 |http://[email protected] | http://[email protected]:8080 |http://userid:[email protected] 

不匹配 no_ws.example.com | no_proto_or_ws.com | /relative_resource.php

可以匹配任何網址,代碼如下:

  1. <script type="text/javascript">  
  2. function IsURL(urlString)  
  3. {  
  4. regExp = /^((https?|ftp|news)://)?([a-z]([a-z0-9-]*[.。])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(/[a-z0-9_-.~]+)*(/([a-z0-9_-.]*)(?[a-z0-9+_-.%=&]*)?)?(#[a-z][a-z0-9_]*)?$/  
  5. if (urlString.match(regExp))  
  6. return "is a url";  
  7. else  
  8. return "not a url";  
  9. }  
  10. url = "";  
  11. alert(IsURL(url));  
  12. </script> 

PHP 測試,代碼如下:

  1. <?php 
  2. $search = '~^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(?([^#]*))?(#(.*))?~i'
  3. $url = 'http://www.php.net/pub/ietf/uri/#Related'
  4. $url = trim($url); 
  5. preg_match_all($search$url ,$rr); 
  6. printf("<p>輸出URL數據為:</p><pre>%s</pre>n",var_export( $rr ,TRUE)); 
  7.  
  8. /* 
  9. 各分組如下 
  10.       $1 = http: 
  11.       $2 = http 
  12.       $3 = //www.php.net 
  13.       $4 = www.php.net 
  14.       $5 = /pub/ietf/uri/ 
  15.       $6 = <undefined> 
  16.       $7 = <undefined> 
  17.       $8 = #Related 
  18.       $9 = Related 
  19. */ 
  20. ?> 

百度上看到另外一塊簡潔的代碼:

  1. <?php  
  2. // 從 URL 中取得主機名  
  3. preg_match("/^(http://)?([^/]+)/i""http://www.php.net/index.html"$matches);  
  4. $host = $matches[2];  
  5. // 從主機名中取得后面兩段  
  6. preg_match("/[^./]+.[^./]+$/"$host$matches);  
  7. echo "domain name is: {$matches[0]}n";  
  8. ?>  
  9. //執行后輸出:domain name is: php.net 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美一级做a | 中文字幕一区二区三区久久 | 中文字幕欧美视频 | 韩国十九禁高潮床戏在线观看 | 亚洲成人在线免费观看 | 国产一级桃视频播放 | 91精品国产乱码久 | 国产91亚洲精品一区二区三区 | 欧美a视频 | 欧美成人综合视频 | 涩涩操 | 国产一区二区三区精品在线观看 | h视频在线免费观看 | 国产a级片电影 | 久久久久久久亚洲精品 | 羞羞羞羞视频 | 亚洲男人一区 | 天天色综合2| 夜间福利视频 | 国产亚洲精品综合一区91555 | 青草伊人网 | 深夜激情视频 | 在线成人av观看 | 18视频在线观看娇喘 | 国产精品一区在线观看 | 午夜亚洲影院 | 污片在线观看视频 | 中文字幕极速在线观看 | 久久久久久久久久久一区 | 中国女警察一级毛片视频 | 国产一区二区三区视频观看 | chinesegv男男猛男无套 | 91午夜免费视频 | 欧美成人免费在线视频 | 国产亚洲欧美日韩高清 | 国产成人在线网址 | 91精品国产成人 | 成人三级黄色片 | 巨乳激情| 毛片在线免费观看网址 | 欧美成人一区二区三区电影 |