我在这里有一个jsfiddle - http://jsfiddle.net/stevea/mrQEz/1/ - 我在使用带有变量模式的JavaScript search()函数时遇到了麻烦。
代码在div.answer中搜索您输入过滤字段的单词。我希望搜索不区分大小写,所以我想在搜索模式的末尾得到“i”标志。如果我直接输入/ background / i作为搜索模式,在JavaScript的第9行,我发现文本中的“背景”很好。但是如果我在过滤器字段中输入“background”并尝试从
构建搜索模式term = "/" + this.value + "/i";
它不起作用,即使术语中似乎有正确的东西:/ background / i。
有没有人看到这个问题? 感谢。
答案 0 :(得分:6)
在JavaScript中有两种创建regular expressions的方法。第一个是文字语法:
term = /background/i;
但是如果你想将字符串转换为正则表达式,则需要调用RegExp
构造函数:
term = new RegExp(this.value, "i");
您可以看到它正常工作here。