【发布时间】:2014-07-07 01:29:02
【问题描述】:
我试图编写一个正则表达式来验证密码,但它对有效密码返回 false。
密码必须至少包含以下 3 个:
- 数字
- 大写字母
- 小写字母
- 特殊字符
密码长度没有限制。
这是我的尝试:
@"^(?=(.*\d){3})(?=(.*[a-z]){3})(?=(.*[A-Z]){3})(?=(.*[^a-zA-Z\d]){3})$"
另外,我完全知道如何在不使用正则表达式的情况下做到这一点。但是,这是针对大学任务的,我们被告知必须使用它们。
【问题讨论】:
-
那么密码“Ab1”有效吗?还是“至少 3 个”是指每组至少 3 个元素?
-
对不起,我应该澄清一下。它必须包含三个或更多。
-
所以密码 Th1sIsSt@çkOv3rF!0w 应该验证?
-
如果 ç 字符匹配 [^a-zA-Z\d],那么是的。它必须具有我上面提到的属性的三个或更多实例。因此,至少应有 12 个字符。