一、在项目的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},
],