Selaa lähdekoodia

修改密码正则,重置密码bug

cxmo 1 vuosi sitten
vanhempi
commit
41e472cd54

+ 18 - 0
src/utils/commonOptions.js

@@ -1,6 +1,24 @@
 
 //验证密码的正则 产品定的规则是:8位及以上,包含数字、大写字母、小写字母、特殊字符中的三个类型
 export const patternPassWord = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,}$/
+export function checkPassWord(pwd){
+    let num = 0
+    const patternArr = [
+        /^(?=.*[0-9])/,
+        /^(?=.*[a-z])/,
+        /^(?=.*[A-Z])/,
+        /^(?=.*[@#$%^&+=.])/,
+    ]
+    patternArr.forEach(pattern=>{
+        if(pattern.test(pwd)){
+            num++
+        }
+    })
+    if(pwd.length<8){
+        num = 0
+    }
+    return num>=3
+}
 //验证手机号的正则 仅支持国内大陆的
 export const patternPhone = /0?(13|14|15|18|17)[0-9]{9}/
 export function isMobileNo(account) {

+ 3 - 3
src/views/login_manage/ForgetPassModel.vue

@@ -99,7 +99,7 @@ import CaptchaInput from './components/CaptchaInput.vue';
 import ModelSteps from './components/ModelSteps.vue';
 import VerificationBox from './components/VerificationBox.vue';
 import modelMixins from './modelMixins';
-import{patternPassWord} from '@/utils/commonOptions';
+import{checkPassWord} from '@/utils/commonOptions';
 import http from '@/api/http.js';
 import {departInterence } from "@/api/api.js";
 export default {
@@ -119,7 +119,7 @@ export default {
             if(this.passForm.pass2!==''){
                 this.$refs.passForm.validateField('pass2')
             }
-            if(!patternPassWord.test(value)){
+            if(!checkPassWord(value)){
                 callback(new Error('密码要求8位及以上,包含数字、大写字母、小写字母、特殊字符中的三个类型'))
             }else{
                 callback()
@@ -282,7 +282,7 @@ export default {
         resetPassCountDown(){
             this.countDownNum--
             this.checkPassStr = `去登陆(${this.countDownNum}s)`
-            if(this.click<=0){
+            if(this.countDownNum<=0){
                 clearInterval(this.resetPassTimer)
                 this.$emit('changeModel')
                 return

+ 2 - 2
src/views/resetpassword.vue

@@ -107,7 +107,7 @@
 import { modifyPwd } from "@/api/api.js";
 import http from "@/api/http.js";
 import md5 from "@/utils/md5.js";
-import{patternPassWord} from '@/utils/commonOptions';
+import{checkPassWord} from '@/utils/commonOptions';
 export default {
   data() {
     return {
@@ -129,7 +129,7 @@ export default {
         NewPwd: [
             {
                 validator:(rule,value,callback)=>{
-                    if(!patternPassWord.test(value)){
+                    if(!checkPassWord(value)){
                         callback(new Error('密码要求8位及以上,包含数字、大写字母、小写字母、特殊字符中的三个类型'))
                     }else{
                         callback()

+ 2 - 2
src/views/system_manage/components/addUserDialog.vue

@@ -76,7 +76,7 @@
 
 <script>
 import searchDistPicker from '@/components/searchDistPicker.vue';
-import {patternEmail,patternPhone,isMobileNo,patternPassWord} from '@/utils/commonOptions';
+import {patternEmail,isMobileNo,checkPassWord} from '@/utils/commonOptions';
     export default {
         props: {
             isAddUserDialogShow: {
@@ -119,7 +119,7 @@ import {patternEmail,patternPhone,isMobileNo,patternPassWord} from '@/utils/comm
                         if(value===''){
                             callback(new Error('请输入新密码'))
                         }
-                        if(!patternPassWord.test(value)){
+                        if(!checkPassWord(value)){
                             callback(new Error('密码要求8位及以上,包含数字、大写字母、小写字母、特殊字符中的三个类型'))
                         }else{
                             callback()

+ 2 - 2
src/views/system_manage/mixin/departManageMixin.js

@@ -6,7 +6,7 @@
 import { departInterence } from '@/api/api.js';
 import http from '@/api/http.js';
 import AddUserDialog from '../components/addUserDialog.vue';
-import{patternPassWord} from '@/utils/commonOptions';
+import{checkPassWord} from '@/utils/commonOptions';
 
 export default {
     components:{AddUserDialog},
@@ -18,7 +18,7 @@ export default {
             if(this.resetForm.check!==''){
                 this.$refs.resetForm.validateField('check')
             }
-            if(!patternPassWord.test(value)){
+            if(!checkPassWord(value)){
                 callback(new Error('密码要求8位及以上,包含数字、大写字母、小写字母、特殊字符中的三个类型'))
             }else{
                 callback()