常用正则,方便vue项目复制使用(rule.js)

 
function checkPhone(rule, value, cb) {
  // 验证手机号及固定电话的正则表达式
  const regPhone =  /^((0\d{2,3}-\d{6,8})|(1[23456789]\d{9}))$/;
  if (regPhone.test(value)) {
    return cb();
  }
  cb(new Error("请输入合法的手机或固定电话"));
}
 
function checkMobile(rule, value, cb) {
  // 验证手机号的正则表达式
  const regMobile = /^1[345789]\d{9}$/;
  if (regMobile.test(value)) {
    return cb();
  }
  cb(new Error("请输入合法的手机号"));
}

function checkIdcard(rule, value, cb) {
  // 验证身份证号的正则表达式
  const regIdcard = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
  if (regIdcard.test(value)) {
    return cb();
  }
  cb(new Error("请输入合法的身份证号"));
};

function checkPrice(rule, value, cb) {
  // 验证两位小数(价格)的正则表达式
  const regIdcard = /^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/;
  if (regIdcard.test(value)) {
    return cb();
  }
  cb(new Error("请输入合法的价格"));
};

function checkName(rule, value, cb) {
  // 验证中英文的正则表达式
  const regIdcard = /^([\u4e00-\u9fa5]|[a-zA-Z]| |•|-|‧|•|⋅|ㆍ|・|●|(\(+\))|(\([\u4e00-\u9fa5]+\))|(\([a-zA-Z]+\)))+$/;
  if (regIdcard.test(value)) {
    return cb();
  }
  cb(new Error("请输入合法格式的姓名"));
};
 
const rules = {
  // 必填
  required(message) {
    return {
      required: true,
      trigger: 'blur',
      message: message
    };
  },
  // 验证手机号
  checkMobile() {
    return {
      validator: checkMobile,
      trigger: "blur",
      message: '请输入正确的手机号'
    }
  },
 // 验证手机固定电话号
  checkPhone() {
    return {
      validator: checkPhone,
      trigger: "blur",
      message: '请输入正确的手机或固定电话号'
    }
  },
  // 验证身份证
  checkIdcard() {
    return {
      validator: checkIdcard,
      trigger: "blur",
      message: '请输入正确的身份证号'
    }
  },
  // 验证姓名
  checkName() {
    return {
      validator: checkName,
      trigger: "blur",
      message: '请输入正确格式的姓名'
    }
  },
  // 验证价格
  checkPrice() {
    return {
      validator: checkPrice,
      trigger: "blur",
      message: '请输入正确格式的价格'
    }
  },
  onlyNumber() {
    return {
      type: "number",
      message: "必须为数字值"
    }
  }
}

export default rules;
posted @ 2020-05-11 09:50  limexee  阅读(611)  评论(0编辑  收藏  举报