1.密碼必須包含數(shù)字胆筒,字母和特殊符號羹与。
/^([a-zA-Z]+[0-9]+[,._!@#$%^&*]+)|([a-zA-Z]+[,._!@#$%^&*]+[0-9]+)|([0-9]+[,._!@#$%^&*]+[a-zA-Z]+)|([0-9]+[a-zA-Z]+[,._!@#$%^&*]+)|([,._!@#$%^&*]+[a-zA-Z]+[0-9]+)|([,._!@#$%^&*]+[0-9]+[a-zA-Z]+)$/
2.密碼必須包含大小寫字母,特殊字符和數(shù)字德谅,且長度不低于8位爹橱,不多于12位。
/^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._])[0-9a-zA-Z!@#$%^&*,\\._]{8,12}$/
3.密碼中不得包含系統(tǒng)默認(rèn)密碼admin,password等及其變種窄做。
const validatePass = (rule, value, callback) => {
if (value === "") {
callback(new Error("請設(shè)置密碼"));
} else {
if (
value.includes("admin") ||
value.includes("root") ||
value.includes("password") ||
value.includes("r00t") ||
value.includes("weblogic")
) {
callback(
new Error("密碼中不得包含系統(tǒng)默認(rèn)密碼admin,password等及其變種")
);
} else {
callback();
}
}
};
4.密碼不能連續(xù)字符(如123愧驱、abc)連續(xù)3位或3位以上。
setThr(str) {
//不能連續(xù)字符(如123椭盏、abc)連續(xù)3位或3位以上
var arr = str.split("");
var flag = true;
for (var i = 1; i < arr.length - 1; i++) {
var firstIndex = arr[i - 1].charCodeAt();
var secondIndex = arr[i].charCodeAt();
var thirdIndex = arr[i + 1].charCodeAt();
thirdIndex - secondIndex == 1;
secondIndex - firstIndex == 1;
if (thirdIndex - secondIndex == 1 && secondIndex - firstIndex == 1) {
flag = false;
}
}
if (!flag) {
return flag;
}
return flag;
}
5.密碼不能相同字符(如111组砚、aaa)連續(xù)3位或3位以上。
const validatePass4 = (rule, value, callback) => {
var re = /(\w)*(\w)\2{2}(\w)*/g;
if (value === "") {
callback(new Error("請設(shè)置密碼"));
} else {
if (re.test(value)) {
callback(new Error("密碼不能相同字符(如111掏颊、aaa)連續(xù)3位或3位以上"));
} else {
callback();
}
}
};
elementui的彈窗寫法
const ipReg = new RegExp(/^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._])[0-9a-zA-Z!@#$%^&*,\\._]{8,50}$/);
this.$prompt('請輸入"' + row.username + '"的密碼', "提示", {
confirmButtonText: "確定",
cancelButtonText: "取消",
type:"warning",
inputPattern: ipReg,
inputErrorMessage: "密碼必須包含大小寫字母以及數(shù)字和特殊符號糟红,且長度不小于8位"
})