2010-09-16 47 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是一个糟糕的组成网址

希望它可以帮助