验证规则(如手机号邮箱等)

发布时间 2023-08-29 18:29:31作者: WEB前端小菜鸟
// 验证手机号
const checkMobile = (rule, value, callback) => {
  if (value === "") {
    callback(new Error("请输入手机号"));
  } else {
    if (value !== "") {
      var reg = /^1[3-9]\d{9}$/;
      if (!reg.test(value)) {
        callback(new Error("请输入有效的手机号码"));
      }
    }
    callback();
  }
};
// 验证邮箱
const checkEmail = (rule, value, callback) => {
  if(value === "") {
    callback(new Error("请输入邮箱"));
  } else {
    if (value !== "") {
      //验证邮箱的正则表达式
      const regEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
      if (regEmail.test(value)) {
        //合法的邮箱
        return callback();
      }
      callback(new Error("请输入正确的邮箱"));
    }
    callback();
  }
  

};

// 数字、字母、下划线的组合【输入的东西得有不一定全有ru: zfb_yjp zFb_yjp2】
const checkAccout = (rule, value, callback) => {
  if (value === "") {
    callback(new Error("请输入账号"));
  } else {
    if (value !== "") {
      var reg =/^[_a-zA-Z0-9]{4,20}$/;
      if (!reg.test(value)) {
        callback(new Error("长度在4-20字符(只包含英文、数字、下划线)"));
      }
    }
    callback();
  }
}
// 姓名得是中文或英文且长度不超过10,输入框在限制一下maxlength:10
const checkName = (rule, value, callback) => {
  if (value === "") {
    callback(new Error("请输入姓名"));
  } else {
    if (value !== "") {
      var reg = /^[\u0391-\uFFE5A-Za-z]{1,10}$/;
      if (!reg.test(value)) {
        callback(new Error("长度在1-10字符(只包含英文、中文)"));
      }
    }
    callback();
  }
}

export { checkMobile, checkEmail,checkAccout,checkName }

 

 

vue2中使用:需要验证的页面引入规则 import { checkMobile, checkEmail, checkAccout, checkName } from './accountManage'
 
email: [
          {
            validator: checkEmail,
            trigger: "blur",
          },
],