测试JavaScript字符串是否包含任何顺序的所有多个值,并且不区分大小写

时间:2017-10-11 14:30:09

标签: javascript

我想以不区分大小写的方式执行应该对字符串进行简单搜索的内容,以查看它是否包含多个搜索字词的所有

例如,"快速棕色狐狸"包含" fox"和"快速",所以我想要一个可以接受这两个单词的函数,并显示该短语包含它们,无论它们的顺序如何。

所以我想我要求的是一个基于字符串的" AND"搜索范围。

2 个答案:

答案 0 :(得分:0)

一个简单的解决方案是使用let serverURL = "https://api.parse.com/1/classes/GameScore" let query = "where={\"playerName\":\"Sean Plott\",\"cheatMode\":false}" let url = serverURL + "?" + query.stringByEncodingURL 方法检查每个搜索词都包含在字符串中。

我将搜索字词指定为单个字符串,该字符串将按空格分割:

array.every()

以上内容将返回var haystackString = "The quick brown fox"; var needleString = "fox quick"; var searchTerms = needleString.split(" "); return searchTerms.every(function stringContains(element, index, array) { return haystackString.toUpperCase().includes(element.toUpperCase()); });

请注意,true可能不适用于所有语言。

答案 1 :(得分:0)

将术语数组转换为RegExp。然后使用String#match查找字符串中的所有匹配项。如果匹配数与术语数相同,则包含所有匹配项:

{ "_id" : 2, "total" : 7000 }
{ "_id" : 1, "total" : 10300 }