js正则表达式验证URL函数代码(方便多个正则对比)

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了js正则表达式验证URL函数代码(方便多个正则对比)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

推荐大家收藏的一段代码,方便同时测试多个正则,查看不同的检测结果,结合chrome完美

核心代码

 <script> /**  * 正则表达式判断网址是否有效  */   (function(){   "use strict";     VAR urlDict=[     //Bad Case     'www.baidu.COM',           //常规网址,未带协议头的地址     'w.baidu.com',            //常规网址,短子域名     'baidu.com',             //常规网址,仅有主域名     '测试.com',              //非常规合法网址,中文域名不在参考之列     '1.2',                //错误域名     ' WWWW ',              //无效字符串     '111测试',              //无效字符串     //Correct Case     'http://baidu.com',          //常规网址,仅有主域名     'http://www.baidu.com',        //常规网址,带子域名     'https://www.baidu.com/',       //常规网址,使用https协议头,带根目录     'http://www.baidu.com/api',      //常规网址,有一级目录下资     'http://www.subdomain.baidu.com/index/subdir',   //常规网址,多级子域名,多级目录     'http://www.www.subdomain.baidu.com/index/subdir/',//常规网址,多级子域名,多级目录,目录地址闭合     'http://io.io'            //非常规网址,多级子域名,多级目录,目录地址闭合   ];     // 建议的正则   function isURL(str){     return !!str.match(/(((^https&#63;:(?:////)?)(?:[-;:&=/+/$,/w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=/+/$,/w]+@)[A-Za-z0-9.-]+)((?://[/+~%//./w-_]*)?/??(?:[-/+=&;%@./w_]*)#?(?:[/w]*))?)$/g);   }     // 不知道谁写的简单版的坑爹正则   function badRegFn(str){     return !!str.match(/(http[s]?|ftp):////[^///.]+?/..+/w$/g);   }  //jb51  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);        }     }       // 测试用例覆盖   (function(){     var ret={};      var collect=function(link){       var obj={},fnList=[isURL,badRegFn,IsURL];       for(var i=0,j=fnList.length;i<j;i++){         var fn=fnList[i];         obj[fn.name]=fn.call(null,link);       }       return obj;     };       for(var i=0,j=urlDict.length;i<j;i++){       ret[urlDict[i]]=collect(urlDict[i]);     }       console.LOG(ret),console.table(ret);   }());   }()); </script>

调试方法:

将上面的代码保存为test.htm在chrome中运行,打开F12,即可看到效果如下图所示

js正则表达式验证URL函数代码(方便多个正则对比)

@H_126_17@

脚本宝典总结

以上是脚本宝典为你收集整理的js正则表达式验证URL函数代码(方便多个正则对比)全部内容,希望文章能够帮你解决js正则表达式验证URL函数代码(方便多个正则对比)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:APIAPIdivDOM