当真就没有一个真正好用的JS验证URL的正则表达式了吗??

网上看到了N个版本的js验证url的正则,而每个版本又都存在很大的问题(可以说是根本不好用)

下面列一下看到过的几个所谓完美验证的版本

 

版本一

"^((https|http|ftp|rtsp|mms)?://)"
  + "?(([0-9a-zA-Z_!~*'().&=+$%-]+: )?[0-9a-zA-Z_!~*'().&=+$%-]+@)?" //ftp的user@
        + "(([0-9]{1,3}/.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
        + "|" // 允许IP和DOMAIN(域名)
        + "([0-9a-zA-Z_!~*'()-]+/.)*" // 域名-
        + "([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-zA-Z]/." // 二级域名
        + "[a-zA-Z]{2,6})" // first level domain- .com or .museum
        + "(:[0-9]{1,4})?" // 端口- :80
        + "((/?)|" // a slash isn't required if there is no file name
        + "(/[0-9a-zA-Z_!~*'().;?:@&=+$,%#-]+)+/?)$";

 

 

版本二

/(?:(?:http[s]?|ftp|mms):////)?(?:([^:@]+)(?::([^@]*))?@)?([^:@//]+)(?::(/d+))?(?:(//.*?)(?:/?(.*?))?(?:#(.*?))?)$/

 

版本一,连最基本的输入aaaa都能通过验证。。。无语

版本二,输入aaa/也能顺利通过验证。。。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d6dea433423925077e1c765e5e292fe1.html