【发布时间】:2017-04-13 09:53:39
【问题描述】:
正则表达式:至少 2 个大写字母、至少 2 个数字和至少 1 个特殊字符 (?.*!:)
我似乎在这里找不到解决方案(如果有,请原谅,但我已经搜索过但找不到)。基本上,我在 ASP.NET 中为我的家庭作业进行了网络聊天,唯一缺少的是检查密码强度。我有一个验证器,需要输入一个正则表达式来检查上述条件。我自己试过,但我真的很笨。
密码示例: paSSword?123
提前感谢您的帮助和解释:)
编辑: 到目前为止,我遇到了这样的事情,但它似乎不起作用。
^(?=.{8,50}$)(?=(.*[!?:.*]){1,})(?=(.*[A-Z]){2,})(?=(.*[a-z]))(?=(.*[0-9]){2,}).*
第一部分检查长度,第二部分检查提供的特殊字符,所以至少有一个..等等。
【问题讨论】:
-
听从我教授的指示。我知道,这很愚蠢。最常见的限制是 1 位高位和 1 位数字,对吧?
-
没错,这里是一个大写、一个特殊、一个数字(也是8个长度)的例子。
^(?:(?=.*[a-z])(?:(?=.*[A-Z])(?=.*[\d\W])|(?=.*\W)(?=.*\d))|(?=.*\W)(?=.*[A-Z])(?=.*\d)).{8,}$。考虑到这是“我的教授的指示。”,您可能应该自己解决,因此我在这里写了一个类似的答案,而不是同一个 -
哦,对了,完全忘记在描述中添加它了。我现在编辑了它。
-
所以看起来您将输入限制为具有这些字符
?.*!:,是否有理由让示例具有$
标签: c# asp.net regex passwords