gpt4 book ai didi

Javascript 密码正则表达式

转载 作者:行者123 更新时间:2023-11-30 09:08:10 25 4
gpt4 key购买 nike

我正在编写用于在 Javascript 中验证密码的正则表达式。限制条件是:

  1. 密码必须至少包含一个大写字符
  2. 密码必须至少包含一个特殊字符

经过反复试验和在网上进行一些搜索,我发现这是可行的:

/(?=.*[A-Z]+)(?=.*[!@#\$%]+)/

有人可以解释一下这个表达式中提到大写字母和特殊字符可以按任意顺序出现的部分吗?

最佳答案

我认为这会更好:

/(?=.*[A-Z])(?=.*[!@#\$%])/

环视不消耗字符,因此第二次环视的开始与第一次相同。这使得对这两个字符的检查彼此独立。您可以交换它们,生成的正则表达式仍然与此相同。

以下正则表达式(由 Gumbo 建议)稍微更有效,因为它避免了不必要的回溯:

/(?=[^A-Z]*[A-Z])(?=[^!@#\$%]*[!@#\$%])/

不过,对于通常长度的密码,时间差异可能不容易测量。

关于Javascript 密码正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3085843/

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