【发布时间】:2017-03-08 23:00:05
【问题描述】:
我正在使用 mongodb 来存储数据。我想将完整的正则表达式存储为字符串:
{
permissions: [{
resName: '/user[1-5]/ig',
isRegex: true
}]
}
我知道有模块mongoose-regexp 可以存储正则表达式,但我想将正则表达式和字符串存储在同一个字段中。
我已经使用eval(user.permissions[i].resName).test(resName) 实现了它。我想知道这是否是正确的方法以及是否有任何替代方法(即使用new RegExp(...))
编辑
我试图避免eval,因为此字段来自用户输入,如果将恶意内容发送到 db,则可能会出现问题。
【问题讨论】:
-
您可以使用
new RegExp,但您需要删除分隔符(/)并分隔标志(ig) -
或者用正则表达式解析它们。 :-)
标签: javascript regex node.js mongodb