gpt4 book ai didi

javascript - 允许数字或特殊字符的正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:46 25 4
gpt4 key购买 nike

我有一个正则表达式允许字符,至少一个数字和特殊字 rune 本限制 8 到 15..

function validatePassword(password) {
var re = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@.$!%*#?&])[A-Za-z\d$@.$!%*#?&]{8,15}$/i;
return re.test(password);
}

现在我需要更改此正则表达式以接受一个数字或一个特殊字符以及相同的 8 到 15 个限制

最佳答案

您需要删除需要数字的前瞻,并将 \d 移动到需要特殊字符的前瞻:

var re = /^(?=.*[A-Za-z])(?=.*[\d$@.!%*#?&])[A-Za-z\d$@.!%*#?&]{8,15}$/;
^^

如果您不需要至少一个字母,请删除 (?=.*[A-Za-z])

详细信息:

  • ^ - 字符串的开始
  • (?=.*[A-Za-z]) - 必须至少有 1 个 ASCII 字母
  • (?=.*[\d$@.$!%*#?&]) - 必须至少有 1 个数字,或类中的任何一个特殊字符
  • [A-Za-z\d$@.!%*#?&]{8,15} - 字符串应该只包含字母、数字和列出的特殊字符,出现 8 到 15 次。
  • $ - 字符串结尾。

请注意,一旦您使用了 a-zA-Z,您就不需要 /i 不区分大小写的修饰符。

此外,无需在同一个字符类中重复 $

关于javascript - 允许数字或特殊字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39221534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com