我这里有一个 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/