diff --git a/src/views/forgetPasswd.vue b/src/views/forgetPasswd.vue index 52ca03b..9a08792 100644 --- a/src/views/forgetPasswd.vue +++ b/src/views/forgetPasswd.vue @@ -156,6 +156,7 @@ } from "element-china-area-data"; export default { + data() { let validatePass2 = (rule, value, callback) => { if (value === "") { @@ -166,6 +167,17 @@ callback(); } }; + //限制输入字母数字 + const validatePass = (rule, value, callback) => { + if ( + /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]|.*[_.*%@!]).{12,20}$/.test(value) === false + ) { + callback(new Error("密码需要包含大写字母、小写字符、数字、特殊字符(含_.*%@!)其中任意三种,长度12-20位")); + } else { + // 校验通过 + callback(); + } + }; return { inputQuery: { password: "", @@ -180,7 +192,8 @@ selectedOptions: [], rules: { - password: [{required: true, message: "请输入密码", trigger: "blur"}], + password: [{required: true, message: "请输入密码", trigger: "blur"}, + { validator: validatePass, trigger: "blur" },], mobile: [{required: true, message: "请输入手机号", trigger: "blur"}], confirmPassword: [ diff --git a/src/views/register.vue b/src/views/register.vue index 23b3ad3..f5d69d7 100644 --- a/src/views/register.vue +++ b/src/views/register.vue @@ -564,9 +564,9 @@ export default { //限制输入字母数字 const validatePass = (rule, value, callback) => { if ( - /^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{8,20}$/.test(value) === false + /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]|.*[_.*%@!]).{12,20}$/.test(value) === false ) { - callback(new Error("密码包含字母和数字且在8-20之间")); + callback(new Error("密码需要包含大写字母、小写字符、数字、特殊字符(含_.*%@!)其中任意三种,长度12-20位")); } else { // 校验通过 callback();