在我们设置密码或者修改密码的时候经常会增加一些密码强度的校验,下面总结几个常用的密码强度的正则校验:分为弱、中、强 三种强度的密码校验;
弱
6~10位的纯数字或者纯小写字母或者纯大写字母
一般很少用,毕竟密码强度太低
let reg = /^(\d{6,10})|([a-z]{6,10})|([A-Z]{6,10})$/;
console.log(reg.test('123456')) // true
console.log(reg.test('123aaa')) // false
console.log(reg.test('abcdefg')) // true
console.log(reg.test('ABCDEFG')) // true
console.log(reg.test('AAbbccDD')) // false
中
6~10位的数字+字母;字母+特殊字符,特殊字符+数字
相对来说用的比较多
let reg = /^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,20}$/;
console.log(reg.test('123')) // true
console.log(reg.test('AAA')) // true
console.log(reg.test('123456')) // false
console.log(reg.test('123aaa')) // true
console.log(reg.test('abcdefg')) // false
console.log(reg.test('ABCDEFG')) // false
console.log(reg.test('AAbbccDD')) // false
强
6~10位的数字、字母、特殊字符,三个缺一不可
let reg = /(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{6,10}/;
console.log(res.test('12AAA')) // true
console.log(res.test('12aaa')) // true
console.log(res.test('AAA//12//')) // true
console.log(res.test('aaa//12//')) // true
console.log(res.test('AAA12')) // true
console.log(res.test('aaa12')) // true
console.log(res.test('AAA')) // false
console.log(res.test('123456')) // false
console.log(res.test('123aaa')) // false
console.log(res.test('abcdefg')) // false
console.log(res.test('ABCDEFG')) // false
console.log(res.test('AAbbccDD')) // false
8位以上的数字、小写字母、大写字母、特殊字符,三个缺一不可
let reg = /^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*\d)|(?=.*[A-Z])(?=.*[a-z])(?=.*[\W_])|(?=.*[A-Z])(?=.*\d)(?=.*[\W_])|(?=.*[a-z])(?=.*\d)(?=.*[\W_])).{8,}$/;
console.log(reg.test('aaaAAA')) // true
console.log(reg.test('12AAA')) // true
console.log(reg.test('12aaa')) // true
console.log(reg.test('AAA//12//')) // true
console.log(reg.test('aaa//12//')) // true
console.log(reg.test('AAA12')) // true
console.log(reg.test('aaa12')) // true
console.log(reg.test('AAA')) // false
console.log(reg.test('123456')) // false
console.log(reg.test('123aaa')) // false
console.log(reg.test('abcdefg')) // false
console.log(reg.test('ABCDEFG')) // false
console.log(reg.test('AAbbccDD')) // false
至此,本文到此结束,如有不足之处,望大神们不吝指出,谢谢!