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