此 JavaScript 代码尝试使用保存在 pat
变量中的正则表达式来验证字符串。尽管预期会给出 true,但它每次都会给出 false。
我究竟做错了什么?谢谢
isValid: (key, str) => {
const pat = ValidationCol.findOne({'key': key}).regex; //=> ^[^@]+@[^@]+?\.[a-zA-Z]{2,6}$
return (/pat/g.test(str));
}
最佳答案
如果 pat
是字符串,则应调用 new RegExp(pat, 'g').test(str)
。如果是 RegExp,则调用 pat.test(str)
。您当前的代码正在检查 str
是否包含字符串 'pat'
。
关于javascript - 在变量中使用正则表达式验证字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38468116/