From 044d8f67cc414187c353b620ce8ad014fcfe44f4 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期五, 29 八月 2025 10:20:59 +0800 Subject: [PATCH] 1.密码强校验 --- src/views/system/user/index.vue | 32 ++++++++++++++- src/views/system/user/profile/resetPwd.vue | 29 +++++++++++++- 2 files changed, 56 insertions(+), 5 deletions(-) diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 0fb4722..fbc3581 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -387,9 +387,35 @@ roleIds: [ { required: true, message: "璇烽�夋嫨瑙掕壊", trigger: "change" } ], - // password: [ - // { required: true, message: "瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - // ], + password: [ + { required: true, message: "瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, + { min: 8, max: 20, message: "瀵嗙爜闀垮害蹇呴』鍦�8-20涓瓧绗︿箣闂�", trigger: "blur" }, + { + validator: (rule, value, callback) => { + if (!value) { + callback(); + return; + } + // 妫�鏌ユ槸鍚﹀寘鍚ぇ鍐欏瓧姣� + const hasUpperCase = /[A-Z]/.test(value); + // 妫�鏌ユ槸鍚﹀寘鍚皬鍐欏瓧姣� + const hasLowerCase = /[a-z]/.test(value); + // 妫�鏌ユ槸鍚﹀寘鍚壒娈婄鍙� + const hasSpecialChar = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(value); + + if (!hasUpperCase) { + callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓ぇ鍐欏瓧姣�')); + } else if (!hasLowerCase) { + callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓皬鍐欏瓧姣�')); + } else if (!hasSpecialChar) { + callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓壒娈婄鍙�')); + } else { + callback(); + } + }, + trigger: "blur" + } + ], phonenumber: [ { required: true, diff --git a/src/views/system/user/profile/resetPwd.vue b/src/views/system/user/profile/resetPwd.vue index f329e6e..96ccd1f 100644 --- a/src/views/system/user/profile/resetPwd.vue +++ b/src/views/system/user/profile/resetPwd.vue @@ -41,8 +41,33 @@ ], newPassword: [ { required: true, message: "鏂板瘑鐮佷笉鑳戒负绌�", trigger: "blur" }, - { min: 6, max: 20, message: "闀垮害鍦� 6 鍒� 20 涓瓧绗�", trigger: "blur" }, - { pattern: /^[^<>"'|\\]+$/, message: "涓嶈兘鍖呭惈闈炴硶瀛楃锛�< > \" ' \\\ |", trigger: "blur" } + { min: 8, max: 20, message: "闀垮害鍦� 8 鍒� 20 涓瓧绗�", trigger: "blur" }, + { pattern: /^[^<>"'|\\]+$/, message: "涓嶈兘鍖呭惈闈炴硶瀛楃锛�< > \" ' \\\\ |", trigger: "blur" }, + { + validator: (rule, value, callback) => { + if (!value) { + callback(); + return; + } + // 妫�鏌ユ槸鍚﹀寘鍚ぇ鍐欏瓧姣� + const hasUpperCase = /[A-Z]/.test(value); + // 妫�鏌ユ槸鍚﹀寘鍚皬鍐欏瓧姣� + const hasLowerCase = /[a-z]/.test(value); + // 妫�鏌ユ槸鍚﹀寘鍚壒娈婄鍙� + const hasSpecialChar = /[!@#$%^&*()_+\-=\[\]{};':\"\\|,.<>\/?]/.test(value); + + if (!hasUpperCase) { + callback(new Error('鏂板瘑鐮佸繀椤诲寘鍚嚦灏戜竴涓ぇ鍐欏瓧姣�')); + } else if (!hasLowerCase) { + callback(new Error('鏂板瘑鐮佸繀椤诲寘鍚嚦灏戜竴涓皬鍐欏瓧姣�')); + } else if (!hasSpecialChar) { + callback(new Error('鏂板瘑鐮佸繀椤诲寘鍚嚦灏戜竴涓壒娈婄鍙�')); + } else { + callback(); + } + }, + trigger: "blur" + } ], confirmPassword: [ { required: true, message: "纭瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, -- Gitblit v1.9.3