【发布时间】:2013-11-12 12:09:07
【问题描述】:
我有以下密码验证条件。
- 密码长度必须至少为八 (8) 个字符。
- 密码必须同时包含字母和数字字符。
- 密码不能有重复字符(例如 AA、aa、00、11 等)。
我已尝试使用以下正则表达式,但缺少重复字符。
有什么建议吗?
var passw = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8}$/;
【问题讨论】:
-
为什么?!您是否有意降低密码的熵?我不能使用“aardvark2”作为我的密码?现在必须审查随机生成的密码以确保它们不包含重复的字符?你根本没有增加这里的安全性。
-
是的..你是对的..但这是具体要求。
-
他们试图阻止人们使用像
aaaa1111这样的密码 -
@Barmar 如果没有额外的上下文信息可供攻击者使用,
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa实际上比monkey12更难猜测。 :) -
这并不像你想象的那样。虽然它确实确保您有一个数字、小写和大写,但它确保它们按该顺序显示
标签: regex