我正在使用 Jacob Wright 开发的非常好用的 JavaScript 库 "array-query" 来搜索对象数组。
其中一个方法是
我被告知:
您将正则表达式放在引号中,使其成为字符串。请删除引号。
因此,
其中一个方法是
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;
的形式?
非常感谢任何帮助或想法,希望这不会太令人困惑。