在javascript中包含整个字符串中的单词

时间:2018-06-13 16:44:33

标签: javascript jquery

我需要比较jQuery中字符串中的单词。简而言之,每个单词都在字符串中,那么匹配应该是true,否则不是。什么顺序并不重要。

例如,如果我有句子:I need to Visit W3Schools

如果我搜索need w3school ==>比赛
如果我搜索need go w3school ==>不匹配
如果我搜索w3schools visit ==>比赛
如果我搜索need go ==>不匹配

它可以是多个单词,如1,2或2以上。

我用过

var keyword = "I need to Visit W3Schools";

if(keyword.indexOf('need w3school') != -1){
   console.log('Found');
}else{
    console.log('Not Found');
}

但它只适用于后续的词而不是其他案例“w3schools visit”。

1 个答案:

答案 0 :(得分:2)

//Function CheckForWords accepts the text value
//Splits text value on whitespace, iterates each word,
//Checks if each word is found in text, if not returns false
function CheckForWords(text){
   const words = text.split(' ');

   for(let x = 0; x < words.length; x++){
        if(text.toLowerCase().indexOf(words[x].toLowerCase()) === -1){
            return false;
        }
   }

   return true;
}