正确的密码类型字段的正则表达式

时间:2015-06-14 15:14:59

标签: regex passwords

使用密码字段。

字段容器字母(小写,大写),数字和一些特殊字符的正则表达式将如下所示:

^([a-z,A-Z,0-9,#,$,%,&,_,]{8,20})*$

请告诉我,如果我希望每个密码短语至少有一个小写,一个大写和一个数字,应如何修改它?

例如,对于3个字符的长传,它是:

  • ' AB3' - 传递
  • ' AB3' - 失败

2 个答案:

答案 0 :(得分:3)

您需要使用前瞻,并且还需要删除字符类中的所有逗号。

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)[a-zA-Z0-9#$%&_]{8,20}$

请注意,密码必须至少为8个字符且最多为20个字符。

DEMO

答案 1 :(得分:0)

由于这个问题,这个答案已被归档。

使用+令牌,该令牌告诉引擎尝试找到一个或多个前面的令牌。 e.g:

^(?=[a-z]+)(?=[A-Z])+(?=[0-9])+(?=[#$%&_\,\.]*)$

然后,在代码中的其他位置使用长度检查来验证长度。