javascript - 无法将 search() 与可变模式一起使用

标签 javascript jquery regex

我这里有一个 jsfiddle - http://jsfiddle.net/stevea/mrQEz/1/ - 我在使用具有可变模式的 JavaScript search() 函数时遇到问题。

代码在 div.answer 中搜索您在筛选字段中输入的词。我希望搜索不区分大小写,所以我想在搜索模式的末尾获得“i”标志。如果我直接输入/background/i 作为搜索模式,在 JavaScript 的第 9 行,我会在文本中找到“背景”。但是如果我在过滤器字段中输入“背景”并尝试从

构建搜索模式
term = "/" + this.value + "/i";

它不起作用,即使术语似乎包含正确的内容:/background/i。

有人看到问题了吗? 谢谢。

最佳答案

有两种创建regular expressions的方法在 JavaScript 中。第一个是文字语法:

term = /background/i;

但是如果你想将字符串转换为正则表达式,你需要调用RegExp构造函数:

term = new RegExp(this.value, "i");

您可以看到它正在运行 here .

关于javascript - 无法将 search() 与可变模式一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18117219/

相关文章:

c# - 执行 Regex.Replace 时出现 "String too long for TextMeshGenerator. Cutting off characters."- Unity C#

javascript - 获取父组件事件的 vue 子组件目标

javascript - 如果列名是数字,d3 读取 csv/tsv 文件?

jquery ui Button() 不是一个函数

javascript - 单击多个 ID 时显示/隐藏文本

regex - 这个 perl 正则表达式的含义是什么?

javascript - 如何在浏览器的地址栏中附加 Accordion 的标题 ID 作为 anchor URL?

javascript - 如何将 JSON 的特定部分转换为字符串?

jquery - 将内联 jQuery UI Datepicker 聚焦为键盘快捷键?

r - 在 R 中使用 Grep 查找具有自定义 "extended"边界的单词