javascript - 在变量中使用正则表达式验证字符串

标签 javascript regex

此 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/

相关文章:

javascript - 打印预览显示一个 div 位置错误

javascript - 来自 REST API 的 HTTP 请求

regex - 检查字符串是否包含 1 个数字、1 个字母且长度在 5-15 个字符之间

javascript - 替换字符串的一个字符

java - 用于匹配特殊模式的正则表达式

javascript - 如果 window.location 通过变量以指定值结尾

Javascript 或和赋值运算符

javascript - 如何选择位于 DOM 层次结构特定范围内的元素?

javascript - 为什么使用 window.setInterval() 后 window.setTimeout() 会变成循环调用

c# - 正则表达式匹配不包括下划线的字符串