我正在使用 Jacob Wright 的名为“array-query”的非常精细的 JavaScript 库在对象数组中进行搜索。
一种方法是regex()
可以将正则表达式包含在括号中,如下所示:regex(/[^\w\s]/)
. 如果我像刚才展示的那样对表达式进行硬编码,它就可以正常工作。如果我首先将相同的表达式放入变量中,则它不起作用,如下所示:
var reg = "/[^\w\s]/";
regex(reg);
有人告诉我
你在你的正则表达式周围加上引号,使它成为一个字符串。删除引号。
因此
var reg = /[^\w\s]/;
regex(reg);
工作正常。
问题是我需要接受来自文本框的用户输入作为正则表达式的一部分。例如,如果用户输入字母z
,则需要将其更改为/z/
. 即使我输入返回/z/
的textbox.value
问题与var reg = "/z/"
. 如果我硬编码var reg = /z/; regex(reg);
它工作正常。
如何将输入文本框值"z"
转换为表单var reg = z;
?非常感谢您的任何帮助或想法,希望这不会太混乱。