常用的表单校验规则

angrybird2332022-08-09FrontendVue
  1. 手机号验证
export function phoneValidate(rule, value, callback) {
  const regPhone = /^(13[0-9]|14[5-9]|15[0-3,5-9]|16[2,5,6,7]|17[0-8]|18[0-9]|19[0-3,5-9])\d{8}$/;
  const regTel = /([0-9]{3,4}-)?[0-9]{7,8}/;
  const regTrim = /^\S*$/;
  const regStart = /^1/;
  if (value) {
    if (!regTrim.test(value)) {
      callback(new Error("不能包含空格字符"));
    } else {
      if (regStart.test(value)) {
        // 手机号
        if (value.length < 11) {
          callback(new Error("手机号长度不够"));
        } else if (value.length > 11) {
          callback(new Error("手机号长度超过11位"));
        } else if (!regPhone.test(value)) {
          callback(new Error("手机号格式不正确"));
        } else {
          callback();
        }
      } else {
        // 固定电话
        if (value.indexOf("-") !== -1) {
          if (regTel.test(value)) {
            callback();
          } else {
            callback(new Error("固话格式不正确"));
          }
        } else {
          callback(new Error("手机号格式不正确"));
        }
      }
    }
  } else {
    callback();
  }
}
  1. 邮箱验证
export function emailValidate(rule, value, callback) {
  const reg = /^([a-zA-Z]|[0-9])(\w|-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
  if (value && !reg.test(value)) {
    callback(new Error("请正确输入邮箱地址"));
  } else {
    callback();
  }
}
  1. 数字验证
export function numberValidate(rule, value, callback) {
  const reg = /^[0-9]+$/;
  if (value && !reg.test(value)) {
    callback(new Error("请输入数字"));
  } else {
    callback();
  }
}
  1. 英文验证
export function enValidate(rule, value, callback) {
  const reg = /^[a-zA-Z]+$/;
  if (value && !reg.test(value)) {
    callback(new Error("请输入英文"));
  } else {
    callback();
  }
}
  1. 数字和英文验证
export function enAndNumberValidate(rule, value, callback) {
  const reg = /^([a-zA-Z]|[0-9])+$/;
  if (value && !reg.test(value)) {
    callback(new Error("请输入字母或数字"));
  } else {
    callback();
  }
}
  1. 中文验证
export function zhValidate(rule, value, callback) {
  const reg = /^[\u4e00-\u9fa5]+$/;
  if (value && !reg.test(value)) {
    callback(new Error("请输入中文"));
  } else {
    callback();
  }
}
  1. 身份证号验证
export function idCardValidate(rule, value, callback) {
  const reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
  if (value && !reg.test(value)) {
    callback(new Error("请输入正确的身份证号"));
  } else {
    callback();
  }
}

最后更新时间 9/18/2024, 8:13:52 AM