我有 html 内容,其中某些单词有成功、失败等。我尝试使用正则表达式来过滤多选复选框中的单个关键字或关键字组合。多选复选框的结果是逗号分隔的字符串。是否有任何条件来检查我的 html 内容是否成功或失败或其他字符串情况。我正在尝试使用正则表达式搜索 or 子句
案例1
var filter = 'success';
$(this).html().search(new RegExp(filter, "i")) > 0) {
alert('data found')
}
案例2:
var filter = 'success, failure';
$(this).html().search(new RegExp(filter, "i")) > 0) {
alert('data found')
}
最佳答案
我只想说,为此使用正则表达式可能是寻找问题的一个解决方案,并且您可能会使用简单的 .indexOf()
或类似的东西得到更多,如@RIYAJ KHAN’s answer ...
如果您有一个包含您要查找的所有单词的数组,例如:
var WORDS = ['success', 'failure'];
您可以按如下方式创建 RegExp 对象:
var expression = new RegExp('\\b('+WORDS.join('|')+')\\b');
(在开头和结尾使用 \b
将确保您只匹配整个单词,这可能是为此使用正则表达式的唯一有效原因。)
请注意,JavaScript 没有从字符串中转义正则表达式特殊字符的函数,但如果您不知道字符串是否是正则表达式安全的,请使用 this首先转义数组项。
然后搜索任意单词:
var found = expression.test($(this).text());
请注意,如果您想找出哪些单词匹配,则必须使用 String.prototype.match
方法而不是 String.prototype.search
。
关于javascript - Jquery 在字符串中搜索单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36382971/