From a44ae3433d80c8ee581d9a6846334e63ce018237 Mon Sep 17 00:00:00 2001 From: yy <11@11.com> Date: Mon, 3 Jun 2024 14:10:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=86=E7=A0=81=E6=AD=A3=E5=88=99=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/user-info.vue | 399 +++++++++--------- src/enum/log-enum.ts | 6 + src/views/login/login.vue | 8 +- .../permissions-manage/form/doctor-form.vue | 10 +- 4 files changed, 218 insertions(+), 205 deletions(-) diff --git a/src/components/user-info.vue b/src/components/user-info.vue index e0f2958..ef97b41 100644 --- a/src/components/user-info.vue +++ b/src/components/user-info.vue @@ -1,53 +1,59 @@ diff --git a/src/enum/log-enum.ts b/src/enum/log-enum.ts index fd19bcf..4b41611 100644 --- a/src/enum/log-enum.ts +++ b/src/enum/log-enum.ts @@ -4,4 +4,10 @@ export enum LogTypeEnum { DELETE = "2", MODIFY = "3", EXCEPTION = '4', +} + +export enum REGEXP { + PASSWORD = '^[a-zA-Z0-9]{8,16}$', + ACCOUNT = '^[a-zA-Z0-9]{2,16}$', + PHONE = '^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$' } \ No newline at end of file diff --git a/src/views/login/login.vue b/src/views/login/login.vue index bc3e42d..d1db3ef 100644 --- a/src/views/login/login.vue +++ b/src/views/login/login.vue @@ -82,7 +82,8 @@ - + { }) function validatePass2(rule: any, value: any, callback: any) { - if (!(/^[a-zA-Z0-9]{8,16}$/.test(value))) { + if (!(new RegExp(REGEXP.PASSWORD).test(value))) { callback("8~16位字母或数字(区分大小写)"); } else if (value !== registerParams.value.password) { callback(new Error('两次密码不一致')); @@ -266,7 +268,7 @@ function validatePass2(rule: any, value: any, callback: any) { } function validateAccount(rule: any, value: any, callback: any) { - if (!(/^[a-zA-Z0-9]{2,16}$/.test(value))) { + if (!(new RegExp(REGEXP.ACCOUNT).test(value))) { callback("2~16位字母或数字(区分大小写)"); } else { callback() diff --git a/src/views/permissions-manage/form/doctor-form.vue b/src/views/permissions-manage/form/doctor-form.vue index ca2dada..6a1f7a9 100644 --- a/src/views/permissions-manage/form/doctor-form.vue +++ b/src/views/permissions-manage/form/doctor-form.vue @@ -70,6 +70,7 @@ import {onMounted, reactive, ref, toRefs, watch} from 'vue' import {ElMessage, ElMessageBox} from 'element-plus' import {getRoleList} from "@/api/role"; import {addUser, updateUI} from "@/api/user"; +import {REGEXP} from "@/enum/log-enum"; const emit = defineEmits(['close', 'save']) @@ -80,13 +81,10 @@ const props = defineProps({ const roleOption = ref([]) const validatorPhone = (rule: any, value: any, callback: any) => { - var isPhone = /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/; - - if (value.indexOf('****') >= 0) { return callback().trim(); } - if (!isPhone.test(value)) { + if (!new RegExp(REGEXP.PHONE).test(value)) { callback(new Error('请输入合法手机号')); } else { callback(); @@ -149,7 +147,7 @@ defineExpose({ }) function validatePass2(rule: any, value: any, callback: any) { - if (!(/^[a-zA-Z0-9]{8,16}$/.test(value))) { + if (!(new RegExp(REGEXP.PASSWORD).test(value))) { callback("8~16位字母或数字(区分大小写)"); } else if (value !== formData.value.password) { callback(new Error('两次密码不一致')); @@ -159,7 +157,7 @@ function validatePass2(rule: any, value: any, callback: any) { } function validateAccount(rule: any, value: any, callback: any) { - if (!(/^[a-zA-Z0-9]{2,16}$/.test(value))) { + if (!(new RegExp(REGEXP.ACCOUNT).test(value))) { callback("2~16位字母或数字(区分大小写)"); } else { callback()