常用密码检验正则

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

^ 匹配一行的开头位置
(?![0-9]+$) 预测该位置后面不全是数字
(?![a-zA-Z]+$) 预测该位置后面不全是字母
[0-9A-Za-z] {6,10} 由6-10位数字或这字母组成
$ 匹配行结尾位置
密码至少包含数字、大字母、小写字母、符号至少两种,6-16位长度
^(?![A-Z]+$)(?![a-z]+$)(?!\d+$)(?![\W_]+$)\S{6,16}$

(?![A-Z]+$) 非全大写
(?![a-z]+$) 非全小写
(?!\d+$) 非全数字
(?![\W_]+$) 非全特殊字符
\S{6,16} 非空格的6-16位字符

(?!正则)负向向前查找 :扫描匹配的内容是否符合正则,(取反)
^((?=.*[0-9].*)(?=.*[A-Za-z].*)(?=.*_.*))[_0-9A-Za-z]{6,16}$

(?=.*[0-9].*) 检测匹配内容 任意字符+数字+任意字符
(?=.*[A-Za-z].*)检测匹配内容 任意字符+大小写字母+任意字符
(?=.*_.*) 检测匹配内容 任意字符+下划线+任意字符
[_0-9A-Za-z]{6,10} 包含数字、字母及下划线 6-10位

(?=正则)正向向前查找 : 扫描匹配的内容是否符合正则

^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])).{6,12}$
密码是否含有小写字母、大写字母、数字….,且密码长度为6-12位