需求:密码强度检测
1. 密码长度在6-12位
2. 密码必须包含大小写字母、数字和特殊字符@
1 前瞻运算符的介绍
从一个位置往匹配方向看,看前方字符是否符合表达式
2 语法
(?=exp)
3 包含大小写字母、数字和特殊字符@
const reg=/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*@).*$/
(?=.*\d)表示包含数字就行
(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*@)表示包含大小写字母、数组和@
4 但是这个规则只能保证有哪些东西
必须1wW-@也能通过测试
因此必须对字符加以限制
const reg=/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*@)[\da-zA-Z@]*$/
只能是包含大小写字母、数字和特殊字符@的情况下,大小写字母、数字和特殊字符@出现0次或多次
5 完成需求(指定字符出现6-12次)
const reg=/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*@)[\da-zA-Z@]{6,12}$/