javascript - Jquery 在字符串中搜索单词

标签 javascript jquery regex

我有 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/

相关文章:

jquery - 通过鼠标悬停和 animate.css 对元素进行动画处理

python - 使正则表达式适应 python re 模块

javascript - 在 CKeditor 中使用键码

javascript - Angularjs/Ionic App json 解析

javascript - 我不明白为什么 $rootScope 有效,但在这种情况下 $scope 无效

javascript - 预安装脚本如何将 npm 配置设置为当前目录?

jquery - 使用 angular 动画化 CSS 属性

正则表达式替换转义字符

mysql - SQL 上的正则表达式问题

javascript - Jquery - 多个模糊事件和输出值