无法使用带有可变模式的search()

时间:2013-08-08 03:00:54

标签: javascript jquery regex

我在这里有一个jsfiddle - http://jsfiddle.net/stevea/mrQEz/1/ - 我在使用带有变量模式的JavaScript search()函数时遇到了麻烦。

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

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

它不起作用,即使术语中似乎有正确的东西:/ background / i。

有没有人看到这个问题? 感谢。

1 个答案:

答案 0 :(得分:6)

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

term = /background/i;

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

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

您可以看到它正常工作here