正則表達式:
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)、地址不能包含雙字節符號或非鏈接特殊字符。
完美,只是因為簡單。