寻找多个Jquery单词js



我试着写一个简单的if语句,看看一个单词是否与其他单词匹配。当我只使用一个单词,而不是像下面这样使用多个单词时,我可以做到这一点。当我用if (||)。我想使用"contains",但不知道如何使用var

还有:("Woven || Main")是一个变量,所以我需要这个部分保持在一起。

var option="Woven || Main";

这行不通:

var titleIs = "Knit";
if (titleIs.match("Woven || Main")) {
    alert("Main")
}

如此:

var titleIs = "Knit";
if (titleIs.match("Woven")) {
    alert("Main")
}

var titleIs = "Knit";
      if(titleIs.match("Woven") || titleIs.match("Main")){
      alert("Main")
}

不要在字符串之间使用||在匹配调用之间使用||

var titleIs = "Knit";
if(titleIs.match("Woven") || titleIs.match("Main")){
   alert("Main")
}
var words = ['Woven', 'Main'];
var regex = new RegExp('^(' + words.join('|') + ')$');
if (regex.test(titleIs)) {...}

你可以使用一个单词数组和Array.prototype.indexOf来检查数组是否包含你的标题。

var words = ["Woven", "Main"];
var titleIs = "Knit";
function contains(arr, str) {
    return !!~arr.indexOf(str)
}
console.log(contains(words, titleIs)); //false

注意:

Array.prototype。reduce是ECMAScript 5新增的功能;因此,它可能不存在于标准的其他实现中。

要支持旧版本的浏览器,可以使用MDN提供的

下面是一个关于JSBin的例子

最新更新