【发布时间】:2015-06-03 19:53:31
【问题描述】:
我有以下正则表达式:
^.*(?=^.{8,}$)(?=.*\d)(?=.*[!@#$%^&*-])(?=.*[A-Z] )(?=.*[a-z]).*$
我正在使用它来验证
至少一个字母
至少一个大写字母
至少一个数字
至少一个特殊字符
至少 8 个字符
但除此之外,我还需要限制下划线 (_)。
如果我输入密码Pa$sw0rd,这是正确的验证,这是真的。
如果我输入Pa$_sw0rd 这也是正确验证,这是错误的。
问题是当所有规则都满足时,正则表达式正在通过。我想要一个规则来限制下划线以及上面的内容。
任何帮助都会非常感激。
【问题讨论】:
-
应该没有
_?????? -
为每个需求使用一个正则表达式将使整个事情更容易编码、理解、更新和维护。
标签: regex model-view-controller