Browse Source

忘记密码的校验规则

cxmo 1 year ago
parent
commit
f87f49e853
1 changed files with 25 additions and 3 deletions
  1. 25 3
      src/views/login/ForgetPassModel.vue

+ 25 - 3
src/views/login/ForgetPassModel.vue

@@ -96,9 +96,11 @@ let countDownNum = ref(5)
 let password = ref('')
 let checkPassword = ref('')
 
+//验证密码的正则 产品定的规则是:8位及以上,包含数字、大写字母、小写字母、特殊字符中的三个类型
+const patternPassWord = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,}$/
 function resetPass(values){
     if(checkPassStr.value.includes('去登陆')){
-        $emit('changeModel')
+        emit('changeModel')
         return
     }
     _apiLogin.resetPass({
@@ -220,15 +222,35 @@ onMounted(()=>{
                         class="form-input-box form-mobile-box"
                         v-model="password"
                         name="password"
+                        type="password"
                         placeholder="请输入密码"
-                        :rules="[{ required: true, message: '请输入密码' },]"
+                        :rules="[
+                            { required: true, message: '请输入密码' },
+                            { validator:(val)=>{
+                                if(!patternPassWord.test(val)){
+                                    return `密码要求8位及以上,包含数字、大写字母、小写字母、特殊字符中的三个类型`
+                                }else{
+                                    return true
+                                }
+                             }
+                            }]"
                     />
                     <van-field
                         class="form-input-box form-mobile-box"
                         v-model="checkPassword"
                         name="checkPassword"
+                        type="password"
                         placeholder="请输入确认密码"
-                        :rules="[{ required: true, message: '请输入确认密码' },]"
+                        :rules="[
+                            { required: true, message: '请输入确认密码' },
+                            { validator:(val)=>{
+                                if(val!==password){
+                                    return `两次密码输入不一致,请检查`
+                                }else{
+                                    return true
+                                }
+                             }
+                            }]"
                     />
                     <van-button round block type="primary"
                         native-type="submit"