2010-09-16 77 views
1

我想對JavaScript正則表達式來驗證主機地址一樣主機地址的正則表達式?

http://192.168.10.10:8089/ 
and 
www.abc.com 
and 
www.abc.com.aa 
+3

這是對你好,有一個問題在那裏?你有沒有嘗試http://regexlib.com? – Lazarus 2010-09-16 12:27:57

+0

@Lazarus:+1我們擁有相同的 – 2010-09-16 12:30:40

回答

1

這使得在$1有效的數字IP地址:

/(\bhttp:\/\/(?:\d{1,2}\.|1\d\d\.|2[0-4]\d\.|25[0-5]\.){3}(?:1?\d?\d|2[0-4]\d|25[0-5])\b(?::\d{1,5})?)/ 

如果你不關心驗證,您可以使用\d{1,3}\。對於最後一個時期的數字和\d{1,3}。這將運行得更快。

對於 「www」 的網址,這將會把URL中$1

/(www\.\w+\.\w{3}(?:\.\w{2})?)\b/ 

我在這裏使用的文件:

https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions

0

的代碼塊將分解網址

var fields = url.match(/(.*)[:/]{3}([^:/]+)[:]?([^/]*)([^?]*)[?]?(.*)/); 
if(fields === null){ 
    throw new Error('bar url'); 
} 
var protocol = fields[1]; 
var host = fields[2]; 
var port = fields[3]; 
var path = fields[4]; 
var query = fields[5]; 

所以,如果你進入了,如果,意味着URL是一個糟糕的組成網址

希望它可以幫助