From 68c55d88c9a2bf6c9c0dd59c15fbd9fb035e6e22 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Fri, 30 Aug 2024 10:53:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=BB=E9=98=B2=E6=BC=8F=E6=B4=9E?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/forgetPasswd.vue | 15 ++++++++++++++- src/views/register.vue | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) 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();