vue表单校验密码

164 阅读1分钟

一、在项目的src/utils文件夹下创建validate.js文件

添加一下代码:

/**
 * @param value
 * 测试密码是否满足条件,包括四种类型
 */
 export function validPassword(value) {
  const num = /^.*[0-9]+.*/
  const low = /^.*[a-z]+.*/
  const up = /^.*[A-Z]+.*/
  const spe = /^.*[^a-zA-Z0-9]+.*/
  const passLength = value.length > 5 && value.length < 21
  return num.test(value) && low.test(value) && up.test(value) && spe.test(value) && passLength
}
//校验规则:大写字母,小写字母,数字和特殊符号组合

在这里插入图片描述

二、在需要校验密码的vue文件内import引入validate.js中的validPassword函数

import { validPassword } from '@/utils/validate'

在这里插入图片描述

三、在需要校验密码的vue文件中的data定义校验函数,调用validPassword 函数

const validatePassword = (rule, value, callback) => {
      if (validPassword(value)) callback()
      else callback(new Error('密码6-20位,必须包含大写字母,小写字母,数字及特殊字符'))
    }

在这里插入图片描述

四、在需要校验密码的vue文件中的form表单中写:rules=“rules”,在el-form-item中添加prop='xxx'

在这里插入图片描述 在这里插入图片描述

五、在rules中通过validator: validatePassword使用自定义校验规则

password: [
          { required: true, trigger: "blur",validator: validatePassword},
        ],

在这里插入图片描述