我在 StackOverflow 的其他地方发现了此代码的变体。它从文本区域中获取所有单词并将它们转换为正则表达式。然后它测试一个数组以查看正则表达式中的所有单词是否都包含在数组中:
<textarea id="inputtext" type="text"></textarea>
<input id="searchbutton" type="button" value="Click me" />
var links = new Array("taxi","Alpha","runway");
$("#searchbutton").click(function () {
var query = $("#inputtext").val();
var querywords = query.split(',');
for (var i = 0; i < querywords.length; i++) {
var regex = new RegExp('(?=.*\\b' + querywords[i].split(' ').join('\\b)(?=.*\\b') + '\\b)', 'i', 'g');
for (var j = 0; j < links.length; j++) {
if (regex.test(links[j])) {
console.log("Correct");
}
}
}
});
如果 textarea 单词包含数组中的所有关键字,如何反转该过程以使程序返回“true”?例如,如果 textarea 有句子“Taxi to the runway via taxway alpha”,并且名为“links”的数组包含关键字“taxi”、“alpha”和“runway”,则程序将返回“true”。