VUE密码校验(密码必须同时包含字母、数字和特殊字符其中三项且至少9位)

784 阅读1分钟

输入框 @input 只可输入字母、数字和特殊符号

@input="e => (ruleForm.renewpass = numberen(e))"

numberen(value){
  value = value.replace/[^\a-\z\A-\Z0-9\.\-\+\*\/\!\@\#\$\%\^\&\(\)\<\>]+/g,"");
}

表单校验

var validatePass = (rule, value, callback) => {
   //必须包含大小写字母、数字、特殊字符长度再9-16位之间
   var regex = new RegExp("(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{9,16}");
   if (value === "") {
      callback(new Error("请输入密码"));
   } else if (value.length < 9 || value.length > 16) {
     callback(new Error("请输入9~16位密码"));
   } else if (!regex.test(value)) {
     callback(new Error("密码必须同时包含字母、数字和特殊字符其中三项且至少9位"));
   } else {
     callback();
   }
};