gpt4 book ai didi

javascript - 给定规则组合的正则表达式

转载 作者:行者123 更新时间:2023-11-28 18:28:09 24 4
gpt4 key购买 nike

我正在尝试编写正则表达式来验证给定规则的密码。

密码长度必须至少为 8 个字符,并且至少包含以下 4 种字符中的 3 种:

  • 小写字母(即 a-z)
  • 大写字母(即 A-Z)
  • 数字(即 0-9)
  • 特殊字符(例如!@#$&*)

我正在经历this讨论发现this那里的答案非常好。

现在我正在尝试为上述要求编写正则表达式,我想出了这样的解决方案

^(?=.*[A-Z])(?=.*[!@#$&*])(?=.*[0-9])(?=.*[a-z]).{8,}|
(?=.*[!@#$&*])(?=.*[0-9])(?=.*[a-z]).{8,}|
(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,}|
(?=.*[A-Z])(?=.*[!@#$&*])(?=.*[a-z]).{8,}|
(?=.*[A-Z])(?=.*[!@#$&*])(?=.*[0-9]).{8,}$

并且它运行完美,请参阅 rubular但我想优化这些正则表达式,我不确定是否有任何方法可以简化它。任何建议将不胜感激。非常感谢

最佳答案

帮自己(以及将来开发该应用程序的任何人)一个忙,将正则表达式分成 4 部分:

{
:lowercase => /regex_for_lowercase/,
:uppercase => /regex_for_uppercase/,
:digits => /regex_for_digits/,
:symbols => /regex_for_symbols/,
}

然后统计密码符合这4条规则中有多少条。如果输入的密码未通过验证,它还可以让您有机会显示更有用的错误消息。

关于javascript - 给定规则组合的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38697815/

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