【发布时间】:2011-03-28 20:49:03
【问题描述】:
我有以下标准来为符合以下规则的密码创建正则表达式:
- 密码长度必须为 8 个字符(我可以这样做:-))。
密码必须包含来自以下 4 条规则中的至少 3 条的字符:
- 大写
- 小写
- 数字
- 非字母数字
我可以使用以下表达式使表达式匹配所有这些规则:
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.[\W]).{8,}$/
但我正在努力解决如何以只需要解决 4 条规则中的任何 3 条的方式做到这一点。
谁能帮我解决这个问题?
【问题讨论】:
-
我不得不说这是其中一种情况,我认为如果你有 4 个不同的正则表达式,你的代码可能会更具可读性。然后可能有一个计数,并且对于每个匹配的正则表达式,您都会增加计数,然后最后您只需检查计数是否为 3 或更高。
-
您使用哪种编程语言?
标签: regex