必须包含数字,字母组合的密码正则表达式

时间:2025-03-20 07:30:01

输入要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在2-64位之间。

^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{2,64}$


分开来注释一下:

^ 匹配一行的开头位置

(?![0-9]+$) 预测该位置后面不全是数字

(?![a-zA-Z]+$) 预测该位置后面不全是字母

[0-9A-Za-z] 取值范围可以是数字大小写字母

{2,64} 由2-64位数字或这字母组成,此区间可换成*,表示不限制长度,也可设置开区间

$ 匹配行结尾位置

注:(?!xxxx) 是正则表达式的负向零宽断言一种形式,标识预该位置后不是xxxx字符。


附:

      要求:账号名称须由字母、数字、中划线或下划线组成,不限制长度

        ^[0-9a-zA-Z_-]*$"

      要求:可以包含数字、字母、下划线,并且要同时含有数字和字母,且长度要在8-16位之间

        ^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z_]{8,16}$
 

由此可见,特殊字符直接加在取值限定的范围中即可

例如:

^[0-9a-zA-Z@]*$"         可以包含@符

^[0-9a-zA-Z.]*$"         可以包含.

^[0-9a-zA-Z-]*$"         可以包含-中划线

^[0-9a-zA-Z]*$"         可以包含_下划线

^[0-9a-zA-Z]*$"         可以包含_下划线