From 4cdc1511119de06161bba748f840070d6699ebc8 Mon Sep 17 00:00:00 2001 From: binbin_pan Date: Mon, 20 May 2024 15:54:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=BC=BA=E5=BA=A6=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sgzb-ui/src/views/system/user/profile/resetPwd.vue | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sgzb-ui/src/views/system/user/profile/resetPwd.vue b/sgzb-ui/src/views/system/user/profile/resetPwd.vue index 64e8f8c4..402b9d6e 100644 --- a/sgzb-ui/src/views/system/user/profile/resetPwd.vue +++ b/sgzb-ui/src/views/system/user/profile/resetPwd.vue @@ -21,6 +21,16 @@ import { updateUserPwd } from "@/api/system/user"; export default { data() { + const passwordRegex = (rule, value, callback) => { + const reg = /^((?=.*[A-Za-z])(?=.*\d)|(?=.*[A-Za-z])(?=.*[!@#$%^&*()_+\-\=])|(?=.*\d)(?=.*[!@#$%^&*()_+\-\=]))[A-Za-z\d!@#$%^&*()_+\-\=]{8,20}$/ + if (value.length < 8 || value.length > 20) { + callback(new Error("密码长度在 8 到 20 个字符")); + } else if (!reg.test(value)) { + callback(new Error("密码须包含数字、字母、特殊符号中的两种以上")); + } else { + callback() + } + } const equalToPassword = (rule, value, callback) => { if (this.user.newPassword !== value) { callback(new Error("两次输入的密码不一致")); @@ -41,7 +51,7 @@ export default { ], newPassword: [ { required: true, message: "新密码不能为空", trigger: "blur" }, - { min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" } + { required: true, validator: passwordRegex, trigger: "blur" } ], confirmPassword: [ { required: true, message: "确认密码不能为空", trigger: "blur" },