JavaScript完美验证URL正则

这个url的正则表达式判断的JavaScript!比较全面的。它验证的情况包括IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!用户名等等信息,貌似作者也是在网上找的,我从一个项目代码中扣出来的,是我见过的最强最全面的url验证方式!太猛了,贴在这里与大家共享先,以后不记得的时候来博客上找找,URL的验证实在是很频繁。

function IsURL(str_url){
        var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
        + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
        + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
        + "|" // 允许IP和DOMAIN(域名)
        + "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
        + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
        + "[a-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-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
        var re=new RegExp(strRegex);
		//re.test()
        if (re.test(str_url)){
            return (true);
        }else{
            return (false);
        }
}

感谢收集者和原作者,虽然我不知道是谁,非常感激~~

此条目发表在 Programming, Tools 分类目录,贴了 标签。将固定链接加入收藏夹。

JavaScript完美验证URL正则》有 5 条评论

  1. 小宝 说:

    是很不错,现在字母大小写敏感,对于那些把ID base64编码后的URL 验证不过去,var re=new RegExp(strRegex, ‘i’);

    [Reply]

  2. 不太对吧 说:

    >IsURL(“asdf”)
    >true

    [Reply]

  3. 是我不会用还是有问题呢? 说:

    我怎么随便输入就返回是真呢?是我不会使用还是有真的问题呢?

    [Reply]

  4. zhangwei 说:

    试试这个怎么样:
    var strRegex = “^((https|http):\/\/)?”
    + “(((([0-9]|1[0-9]{2}|[1-9][0-9]|2[0-4][0-9]|25[0-5])[.]{1}){3}([0-9]|1[0-9]{2}|[1-9][0-9]|2[0-4][0-9]|25[0-5]))” // IP形式的URL- 199.194.52.184
    + “|”
    + “([0-9a-zA-Z\u4E00-\u9FA5\uF900-\uFA2D-]+[.]{1})+[a-zA-Z-]+)” // DOMAIN(域名)形式的URL
    + “(:[0-9]{1,4})?” // 端口- :80
    + “((/?)|(/[0-9a-zA-Z_!~*'().;?:@&=+$,%#-]+)+/?)$”;

    [Reply]

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">