【发布时间】:2014-12-20 01:16:00
【问题描述】:
有人可以帮助我吗, 我需要一个密码表达式来满足以下条件:
- 至少 8 个字符,最多 15 个字符。
- 至少一个大写字母。
- 至少一个小写字母。
- 至少 1 个特殊字符。
- 至少 1 个数字。
如果可能,这些必须以任何顺序都可以接受。
这是我发现但不满足上述条件的尝试,我尝试过修改,但我的问题在于以任何顺序排列这些并且至少指定任何一个字符,我尝试减少下面的每个表达式也适合:
^(?=.*[A-Z].*[A-Z])(?=.*[!@#$&*])(?=.*[0-9].*[0-9])(?=.*[a-z].*[a-z].*[a-z]).{8}$
^ Start anchor
(?=.*[A-Z].*[A-Z]) Ensure string has two uppercase letters.
(?=.*[!@#$&*]) Ensure string has one special case letter.
(?=.*[0-9].*[0-9]) Ensure string has two digits.
(?=.*[a-z].*[a-z].*[a-z]) Ensure string has three lowercase letters.
.{8} Ensure string is of length 8.
$ End anchor.
没有重复,请查看标记,除非您确定它是重复的
【问题讨论】:
-
嗨,玛丽亚。展示你的尝试..
-
我认为 regexp 不是解决这个问题的合适工具...
-
@Maria88 你能举个例子,特别是你所说的特殊字符是什么意思吗?
-
@fzzle 你发现的和她刚刚发现的一样(并在她的问题中更新):)
-
复杂的密码规则通常不会带来更安全的密码,重要的只是最小长度。人们无法记住大量的强密码,这样的规则会干扰好的密码方案。人们可以非常有创意地绕过这些规则,例如通过使用弱密码,如“Password-2014”。通常,您最终会得到较弱的密码,而不是较强的密码。
标签: javascript jquery regex password-protection