From e6c8c46bf3d7de3d9afcdc385c2eae953a1db20b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B4=AA=E6=B4=AA?= <2498601771@qq.com> Date: Mon, 18 Sep 2023 16:09:13 +0800 Subject: [PATCH] =?UTF-8?q?CN-1305=20fix:=20=E7=AE=A1=E7=90=86=E9=A1=B5?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=94=A8=E6=88=B7=E6=97=B6=EF=BC=8C=E5=9C=A8?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E9=87=8C=E8=BE=93=E5=85=A5=E7=89=B9=E6=AE=8A?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=EF=BC=8C=E4=B8=AD=E6=96=87=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E5=92=8C=E8=8B=B1=E6=96=87=E7=95=8C=E9=9D=A2=E7=9A=84=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E4=BF=A1=E6=81=AF=E4=B8=8D=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/rightBox/settings/UserBox.vue | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/components/rightBox/settings/UserBox.vue b/src/components/rightBox/settings/UserBox.vue index b45208ff..26500cc8 100644 --- a/src/components/rightBox/settings/UserBox.vue +++ b/src/components/rightBox/settings/UserBox.vue @@ -142,11 +142,14 @@ export default { } const validateName = (rule, value, callback) => { let validate = true - const reg = /^[a-zA-Z0-9\u4e00-\u9fa5\u30a1-\u30f6\u3041-\u3093\uFF00-\uFFFF\u4e00-\u9fa5\u0400-\u04FF\s]{2,64}$/ + // const reg = /^[a-zA-Z0-9\u4e00-\u9fa5\u30a1-\u30f6\u3041-\u3093\uFF00-\uFFFF\u4e00-\u9fa5\u0400-\u04FF\s]{2,64}$/ + const reg = /^[\u4E00-\u9FA5\a-zA-Z0-9\u3040-\u309F\u0800-\u4e00\u0400-\u04FF\u2000-\u206F\s]{2,64}$/ + const emptyFlag = value[0] === ' ' || value[value.length - 1] === ' ' validate = reg.test(value) if (value.length < 2) { callback(new Error(this.$t('validate.atLeastTwo'))) - } else if (!validate) { + } else if (!validate || value.trim() === '' || emptyFlag) { + // 除满足中英日俄、数字空格外,不能全为空格,前后也不可为空格 callback(new Error(this.$t('validate.name'))) } else { callback() @@ -154,7 +157,9 @@ export default { } const validateUserName = (rule, value, callback) => { let validate = true - const reg = /^[a-zA-Z0-9_\u4e00-\u9fa5\u30a1-\u30f6\u3041-\u3093\uFF00-\uFFFF\u4e00-\u9fa5\u0400-\u04FF\s]{2,64}$/ + // const reg = /^[a-zA-Z0-9_\u4e00-\u9fa5\u30a1-\u30f6\u3041-\u3093\uFF00-\uFFFF\u4e00-\u9fa5\u0400-\u04FF\s]{2,64}$/ + // 校验,只允许中、英、数字和下划线 + const reg = /^[\u4e00-\u9fa5_a-zA-Z0-9]{2,64}$/ validate = reg.test(value) if (value.length < 2) { callback(new Error(this.$t('validate.atLeastTwo'))) @@ -170,11 +175,11 @@ export default { rules: { // 表单校验规则 name: [ { required: true, message: this.$t('validate.required'), trigger: 'blur' }, - { validator: validateName, trigger: 'change' } + { validator: validateName, trigger: 'blur' } ], username: [ { required: true, message: this.$t('validate.required'), trigger: 'blur' }, - { validator: validateUserName, trigger: 'change' } + { validator: validateUserName, trigger: 'blur' } ], pin: [ { required: true, message: this.$t('validate.required'), trigger: 'blur' },