正则表达式匹配URL
Posted 禅趣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式匹配URL相关的知识,希望对你有一定的参考价值。
正则表达式:
var match = /^((ht|f)tps?):\\/\\/([\\w\\-]+(\\.[\\w\\-]+)*\\/)*[\\w\\-]+(\\.[\\w\\-]+)*\\/?(\\?([\\w\\-\\.,@?^=%&:\\/~\\+#]*)+)?/;
/*
注:
(1)、如需允许其他联接方式,可以修改“(ht|f)tps?”部分,在“?”后面跟上符号“|”,然后加上您需要的联接方式,多个时用符号“|”分隔)。
(2)、如需允许URL参数包含其它字符,可以修改“[\\w\\-\\.,@?^=%&:\\/~\\+#]”,以设置您需要的参数。
*/
匹配:
(1)、直接匹配域名地址:
var matchString = \'https://i.cnblogs.com\'; console.log(match.test(matchString)); // ==> true
var matchString = \'https://i.cnblogs.com/\'; console.log(match.test(matchString)); // ==> true
var matchString = \'https://i.cnblogs.com//\'; // ==> 不允许非域名或参数以外的地方出现双“/”; console.log(match.test(matchString)); // ==> false
(2)、匹配链接含(*.htm,*.html,*.php,*.aspx...)后缀的地址:
var matchString = \'https://i.cnblogs.com/EditPosts.aspx\'; console.log(match.test(matchString)); // ==> true
var matchString = \'https://i.cnblogs.com./EditPosts.aspx\'; // ==> 不允许参数以外的地方以双“.”结尾; console.log(match.test(matchString)); // ==> false
(3)、匹配含参数的地址:
var matchString = \'https://i.cnblogs.com/EditPosts.aspx?opt=1\'; console.log(match.test(matchString)); // ==> true
var matchString = \'https://i.cnblogs.com/EditPosts.aspx?opt=1&user=\' console.log(match.test(matchString)); // ==> true
使用说明:
(1)、地址必须以http/https/ftp/ftps开头;
(2)、地址不能包含双字节符号或非链接特殊字符。
完美,只是因为简单。
以上是关于正则表达式匹配URL的主要内容,如果未能解决你的问题,请参考以下文章