在Javascript中检查URLS时使用'或'

时间:2013-04-30 18:14:44

标签: javascript jquery

如果指定的URL与当前页面的URL匹配,我将使用以下内容执行操作:

if(window.location.href.indexOf("collections/all/colourful") > -1) {

我有很多这些,因为我似乎无法指定应用该功能的URL列表。我想给出一个10-40个网址列表来应用它。我试过(使用两个URL作为例子):

if(window.location.href.indexOf("collections/all/colourful") || ("collections/all/notcolourful") > -1) {

if(window.location.href.indexOf("collections/all/colourful" || "collections/all/notcolourful") > -1) {

但似乎都不起作用。

很抱歉,如果这是基本的,但我看起来无法在任何地方找到答案。提前谢谢。

7 个答案:

答案 0 :(得分:6)

如果您的网址列表很长,这将更简洁,更清晰:

var arrOfUrls = [url1, url2, url3]; //replace these with your url strings

var atLeastOneMatches = arrOfUrls.some(function(url) {
  return window.location.href.indexOf(url > -1);
});

if (atLeastOneMatches) {
  //do stuff here
}

答案 1 :(得分:2)

if(window.location.href.indexOf("collections/all/colourful") > -1 || window.location.href.indexOf("collections/all/notcolourful") > -1) {

你不能像你想要的那样进行比较......基本上,你之前说的是if(window.location... OR true)

答案 2 :(得分:2)

只有一个表达式:

/collections\/all\/(not)colourful/.test( window.location.href )

答案 3 :(得分:0)

你可能正在寻找这个:

if (window.location.href.indexOf("collections/all/colourful") > -1 || 
    window.location.href.indexOf("collections/all/notcolourful") > -1) { ... }

答案 4 :(得分:0)

试试这个

if (window.location.href.indexOf("collections/all/colourful") > -1 || window.location.href.indexOf("collections/all/notcolourful") > -1)

答案 5 :(得分:0)

我会直接找到一个列表(数组),直到找到一个:

var found = false;

for (var x = 0; x < listOfUrls.length; x ++){
  if(window.location.href.indexOf(listOfUrls[x] > -1) {
     found=true;
     break;
  }
}

if(found){//do something 

答案 6 :(得分:-1)

使用or语句时需要重复整个命令。

if(window.location.href.indexOf("collections/all/colourful") > -1 || window.location.href.indexOf("collections/all/notcolourful") > -1)