我想要javascript的正则表达式来验证主机地址,如
http://192.168.10.10:8089/
and
www.abc.com
and
www.abc.com.aa
答案 0 :(得分:1)
您是否曾尝试在Regular Expression Library找到它?
答案 1 :(得分:1)
这会将有效的数字IP地址放在$1
:
/(\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
”网址,这会将网址放在$1
中:
/(www\.\w+\.\w{3}(?:\.\w{2})?)\b/
我在这里使用文档:
https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions
答案 2 :(得分: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];
因此,如果你进入if,意味着url是一个糟糕的组合URL
希望有所帮助