业务需要调整各端密码的安全正则,但密码策略现在是各个业务系统用不同语言维护,不方便统一管理和升级。使用正则表达式维护密码是比较好的方法。下面列举一些常用的密码格式的正则表达式。
目录
B类:长度6位及以上,且不能出现3位及以上的连续数字或字母;
C类:长度6位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型;
D类:长度6位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型,且不能出现3位及以上的连续数字或字母;
F类:长度8位及以上,且不能出现3位及以上的连续数字或字母;
G类:长度8位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型;
H类:长度8位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型,且不能出现3位及以上的连续数字或字母
I类:长度8位及以上,至少包含大、小写字母,数字,特殊字符中的三种类型
J类:长度8位及以上,至少包含大、小写字母,数字,特殊字符中的三种类型,且不能出现3位及以上的连续数字或字母
K类:长度8位及以上,至少包含大、小写字母,数字,特殊字符四种类型
L类:长度8位及以上,至少包含大、小写字母,数字,特殊字符四种类型,且不能出现3位及以上的连续数字或字母
规则总览
密码复杂度 | 口令复杂度要求 |
A类 | 长度6位及以上 |
B类 | 长度6位及以上,且不能出现3位及以上的连续数字或字母; |
C类 | 长度6位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型; |
D类 | 长度6位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型,且不能出现3位及以上的连续数字或字母; |
E类 | 长度8位及以上 |
F类 | 长度8位及以上,且不能出现3位及以上的连续数字或字母; |
G类 | 长度8位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型; |
H类 | 长度8位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型,且不能出现3位及以上的连续数字或字母; |
I类 | 长度8位及以上,至少包含大、小写字母,数字,特殊字符中的三种类型; |
J类 | 长度8位及以上,至少包含大、小写字母,数字,特殊字符中的三种类型,且不能出现3位及以上的连续数字或字母; |
K类 | 长度8位及以上,至少包含大、小写字母,数字,特殊字符四种类型; |
L类 | 长度8位及以上,至少包含大、小写字母,数字,特殊字符四种类型,且不能出现3位及以上的连续数字或字母; |
密码规则
A类:长度6位及以上
^.{6,}$
B类:长度6位及以上,且不能出现3位及以上的连续数字或字母;
^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[a-zA-Z0-9_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[_\W])[a-zA-Z_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])[a-zA-Z]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[0-9])(?=.*[_\W])[a-z0-9_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[0-9])[a-z0-9]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[_\W])[a-z_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])[a-z]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[A-Z0-9_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[0-9])[A-Z0-9]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[_\W])[A-Z_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])[A-Z]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[0-9])(?=.*[_\W])[0-9_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[0-9])[0-9]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[_\W])[_\W]{6,}$
C类:长度6位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型;
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[a-zA-Z0-9_\W]{6,}$|^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{6,}$|^(?=.*[a-z])(?=.*[A-Z])(?=.*[_\W])[a-zA-Z_\W]{6,}$|^(?=.*[a-z])(?=.*[A-Z])[a-zA-Z]{6,}$|^(?=.*[a-z])(?=.*[0-9])(?=.*[_\W])[a-z0-9_\W]{6,}$|^(?=.*[a-z])(?=.*[0-9])[a-z0-9]{6,}$|^(?=.*[a-z])(?=.*[_\W])[a-z_\W]{6,}$|^(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[A-Z0-9_\W]{6,}$|^(?=.*[A-Z])(?=.*[0-9])[A-Z0-9]{6,}$|^(?=.*[A-Z])(?=.*[_\W])[A-Z_\W]{6,}$|^(?=.*[0-9])(?=.*[_\W])[0-9_\W]{6,}$
D类:长度6位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型,且不能出现3位及以上的连续数字或字母;
^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[a-zA-Z0-9_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[_\W])[a-zA-Z_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])[a-zA-Z]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[0-9])(?=.*[_\W])[a-z0-9_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[0-9])[a-z0-9]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[_\W])[a-z_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[A-Z0-9_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[0-9])[A-Z0-9]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[_\W])[A-Z_\W]{6,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[0-9])(?=.*[_\W])[0-9_\W]{6,}$
E类:长度8位及以上
^.{8,}$
F类:长度8位及以上,且不能出现3位及以上的连续数字或字母;
^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[a-zA-Z0-9_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[_\W])[a-zA-Z_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])[a-zA-Z]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[0-9])(?=.*[_\W])[a-z0-9_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[0-9])[a-z0-9]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[_\W])[a-z_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])[a-z]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[A-Z0-9_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[0-9])[A-Z0-9]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[_\W])[A-Z_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])[A-Z]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[0-9])(?=.*[_\W])[0-9_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[0-9])[0-9]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[_\W])[_\W]{8,}$
G类:长度8位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型;
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[a-zA-Z0-9_\W]{8,}$|^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8,}$|^(?=.*[a-z])(?=.*[A-Z])(?=.*[_\W])[a-zA-Z_\W]{8,}$|^(?=.*[a-z])(?=.*[A-Z])[a-zA-Z]{8,}$|^(?=.*[a-z])(?=.*[0-9])(?=.*[_\W])[a-z0-9_\W]{8,}$|^(?=.*[a-z])(?=.*[0-9])[a-z0-9]{8,}$|^(?=.*[a-z])(?=.*[_\W])[a-z_\W]{8,}$|^(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[A-Z0-9_\W]{8,}$|^(?=.*[A-Z])(?=.*[0-9])[A-Z0-9]{8,}$|^(?=.*[A-Z])(?=.*[_\W])[A-Z_\W]{8,}$|^(?=.*[0-9])(?=.*[_\W])[0-9_\W]{8,}$
H类:长度8位及以上,至少包含大、小写字母,数字,特殊字符中的两种类型,且不能出现3位及以上的连续数字或字母
^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[a-zA-Z0-9_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[_\W])[a-zA-Z_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])[a-zA-Z]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[0-9])(?=.*[_\W])[a-z0-9_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[0-9])[a-z0-9]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[_\W])[a-z_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[A-Z0-9_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[0-9])[A-Z0-9]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[_\W])[A-Z_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[0-9])(?=.*[_\W])[0-9_\W]{8,}$
I类:长度8位及以上,至少包含大、小写字母,数字,特殊字符中的三种类型
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[a-zA-Z0-9_\W]{8,}$|^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8,}$|^(?=.*[a-z])(?=.*[A-Z])(?=.*[_\W])[a-zA-Z_\W]{8,}$|^(?=.*[a-z])(?=.*[0-9])(?=.*[_\W])[a-z0-9_\W]{8,}$|^(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[A-Z0-9_\W]{8,}$
J类:长度8位及以上,至少包含大、小写字母,数字,特殊字符中的三种类型,且不能出现3位及以上的连续数字或字母
^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[a-zA-Z0-9_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[_\W])[a-zA-Z_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[0-9])(?=.*[_\W])[a-z0-9_\W]{8,}$|^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[A-Z0-9_\W]{8,}$
K类:长度8位及以上,至少包含大、小写字母,数字,特殊字符四种类型
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[a-zA-Z0-9_\W]{8,}$
L类:长度8位及以上,至少包含大、小写字母,数字,特殊字符四种类型,且不能出现3位及以上的连续数字或字母
^(?!.*(?:[0-9]{3}|[a-zA-Z]{3}|[a-z]{3}|[A-Z]{3}))(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[_\W])[a-zA-Z0-9_\W]{8,}$
其他类型,可以参考其他博客地址,比如 正则表达式 - 密码格式验证大全 - TinyMaD - 博客园
如需大小写字母,数字,特殊字符校验的其他规则,可以在下方留言。我有工具可以生成。