正则一:
// 密码正则 // 密码需包含字母,符号或者数字中至少两项且长度超过6位数,最多不超过16位数
const regPwd = str => {
let zmReg = /[A-Za-z]/; // 大小写字母
let numReg = /[0-9]/; // 数字
let zfReg = /[^A-Za-z0-9\s]/; // 特殊字符不包含空格
let empty = /\s/g;
let chinese = /[\u4e00-\u9fa5]/g;
let complex = 0;
if (chinese.test(str)) {
return false;
}
if (empty.test(str)) {
return false;
}
if (zmReg.test(str)) {
++complex;
}
if (numReg.test(str)) {
++complex;
}
if (zfReg.test(str)) {
++complex;
}
if (complex < 2 || str.length < 6 || str.length > 16) {
// 密码需包含字母,符号或者数字中至少两项且长度超过6位数,最多不超过16位数
return false;
} else {
return true;
}
};
正则二:
var regRule = {
pattern: /(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*()_.]+)$)^[\w~!@#$%^&*()_.]{8,16}$/,
text: "密码应为字母,数字,特殊符号(~!@#$%^&*()_.),两种及以上组合,8-16位字符串,如:xyl37@baa"
}