URL正则表达式验证

Y.G*_*G.J 12 javascript regex

我做到了:

 /^(http[s]?://){0,1}(www.){0,1}[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}[\.]{0,1}
Run Code Online (Sandbox Code Playgroud)

并使用验证器检查它,但在我的页面上它不起作用:

var re = /^(http[s]?://){0,1}(www.){0,1}[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}[\.]{0,1};
if (!re.test(url)) { 
    alert("url error");
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Timestamp: Tue, 30 Nov 2010 14:23:10 UTC


Message: Expected ')' in regular expression
Line: 781
Char: 23
Code: 0
URI: http://*************************
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 31

你要逃脱你的特殊字符(/以及.之后www在这种情况下)和ATT缺少的尾部/,就像这样:

var re = /^(http[s]?:\/\/){0,1}(www\.){0,1}[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}[\.]{0,1}/;
if (!re.test(url)) { 
    alert("url error");
    return false;
}
Run Code Online (Sandbox Code Playgroud)