在JS中使用Regex过滤字符串/ URL

时间:2014-10-08 01:32:13

标签: javascript regex

我正在使用包含多个网址的数组,包括http://www.example.com

现在我使用document.URL检查我是否在其中一个网站上。如果我是,它应该执行各种操作。但是,我确实想在http://www.example.com?params=something上执行相同的操作。

这是我尝试解决它。​​

    for(var l=0;l<urlList.length;l++) {
                var url = urlList[l];
                if(document.URL == url || document.URL == (url + '\?.*' ) {

我做错了什么?如何正确使用该正则表达式(如果它是正确的表达式)?

提前致谢!

1 个答案:

答案 0 :(得分:0)

使用indexOf:

可能就足够了
    for(var l=0;l<urlList.length;l++) {
            var url = urlList[l];
            if(document.URL.indexOf(url) !== -1) {

或&#34;规范化&#34;首先是正则表达式。这会剥离http://和/或www,看看网址是否都相同:

    var re = /https?:\/\/(www.)?/;
    for(var l=0;l<urlList.length;l++) {
            var url = urlList[l];
            if(document.URL.replace(re, '').indexOf(url.replace(re, '')) === 0) {