Javascript:动态创建正则表达式

标签 javascript regex

<分区>

我有这个密码正则表达式:

var PasswordRegex = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z!@#$&()\\-`.+,/\"]{8,}$/;

我现在想从管理 CMS 设置最小长度

所以我有这个

function CheckPassword(minLengh, Password) {
DynamicPasswordRegex = new RegExp("^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z!@#$&()\\-`.+,/\"]{" + minLengh + ",}$");

return DynamicPasswordRegex.test(Password);
}

出于某种原因,密码是正确的,返回错误

最佳答案

您正在编写一个字符串文字,因此您的反斜杠被解析为字符串文字转义序列。

您需要将每个反斜杠转义为 \\,以便正则表达式看到单个反斜杠。

关于Javascript:动态创建正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44099059/

相关文章:

javascript - 将 chr 添加到数字原型(prototype)

javascript - 根据浏览器窗口大小删除或隐藏图像

javascript - 一分钟内执行 x 次 (BPM)

c# - 如何识别字符串是否为正则表达式?

html - 替换网页中的 'non-tagged'内容

javascript - 为什么带有选项的 Intl.NumberFormat 在左侧输出欧元符号,而文档说它应该在右侧?

javascript - JQuery点击attr ('src')返回未定义

python - 如何根据点在 python 中拆分字符串,忽略十进制值?

mysql - 在mysql中模拟正则表达式捕获组

regex - awk 解析邮件日志中的唯一 IP 地址