我需要比较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”。
答案 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;
}