为了账号安全,请及时绑定邮箱和手机立即绑定

请教一个校验密码的正则

请教一个校验密码的正则

智慧大石 2018-09-07 14:58:31
要求是需至少包含小写字母、大写字母、数字、特殊字符中的两种,且长度不少于8,请正则大神临幸,感谢
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

一个正则就可以搞定:

var patten = /^(?![a-z]{8,}$)(?![A-Z]{8,}$)(?!\d{8,}$)(?![!@#\$%]{8,}$)[a-zA-Z\d!@#\$%]{8,}$/

patten.test('a2b$cdabABa') //true

patten.test('aaaabbbbs') //false

解释一下,

[a-zA-Z\d!@#\$%]{8,}$ 是正则表达式主体,特殊符号你还可以自己加,目前只支持 !@#\$%
(?![a-z]{8,}$) 是否定断言,表示不能全是小写字母,后面类似


查看完整回答
反对 回复 2018-10-26
  • 1 回答
  • 0 关注
  • 502 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信