日期:2014-05-16  浏览次数:20319 次

JavaScript中匹配URL的正则表达式
网上流行着很多判断一个字符串是不是一个URL的JS代码。(或曰,判断用户输入是否是合法的URL)。

我发一个稍完整些的正则表达式,要Mark的赶紧MARK吧

var re=/^((http|https|ftp):\/\/)?(\w(\:\w)?@)?([0-9a-z_-]+\.)*?([a-z0-9-]+\.[a-z]{2,6}(\.[a-z]{2})?(\:[0-9]{2,6})?)((\/[^?#<>\/\\*":]*)+(\?[^#]*)?(#.*)?)?$/i;

assert(re.test("www.jamcode.org"));
assert(re.test("http://www.jamcode.org"));
assert(re.test("http://www.jamcode.org/robots.txt"));
assert(re.test("www.jamcode.org/robots.txt"));
assert(re.test("https://www.jamcode.org/favicon.ico"));
assert(re.test("http://www.jamcode.org/?search=Go"));
//..............
//..............




大家如果有更好的正则,赶紧地发出来

http://www.jamcode.org/