手机号校验、金额校验、数字校验、银行卡校验、正整数校验。。。

export default {
  checkPhone: (rule, value, callback) => {
    if (!value) {
      return callback(new Error('手机号不能为空'));
    } else {
      const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
      if (reg.test(value)) {
        callback();
      } else {
        return callback(new Error('请输入正确的手机号'));
      }
    }
  },
  checkPercent: (rule, value, callback) => {
    if (!value) {
      return callback();
    } else {
      const reg = /^(100|[1-9]\d|\d)(.\d{1,2})?%$/
      if (reg.test(value)) {
        callback();
      } else {
        return callback(new Error('请输入百分比'));
      }
    }
  },
  money: (rule, value, callback) => {
    if (!value) {
      callback();
      // return callback(new Error('金额不能为空'));
    } else {
      const pass = /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/.test(value)
      if (isNaN(value)) {
        return callback(new Error('请输入正确格式的金额'));
      }
      if (String(value).split('.').length > 0) {
        if (String(value).split('.')[0].length > 9) {
          return callback(new Error('整数部分不能大于9位'));
        }
        if (value !== 0) {
          if (!pass || !value) {
            return callback(new Error('请输入正确格式的金额'));
          }
        }
      }
      callback();
    }
  },
  moneyT: (rule, value, callback) => {
    if (!value) {
      // callback();
      return callback(new Error('金额不能为空'));
    } else {
      const pass = /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/.test(value)
      if (isNaN(value)) {
        return callback(new Error('请输入正确格式的金额'));
      }
      if (String(value).split('.').length > 0) {
        if (String(value).split('.')[0].length > 9) {
          return callback(new Error('整数部分不能大于9位'));
        }
        if (value !== 0) {
          if (!pass || !value) {
            return callback(new Error('请输入正确格式的金额'));
          }
        }
      }
      callback();
    }
  },
  checkED: (rule, value, callback) => {
    if (value === '') {
      callback();
    }
    if (isNaN(value)) {
      return callback(new Error('必须为数字'));
    }
    callback();
  },
  //判断银行账号是否输入正确
  validateBank: (rule, value, callback) => {
    const reg = /^([1-9]{1})(\d{15}|\d{18})$/;
    if (!reg.test(value)) {
      if (value && !reg.test(value)) {
        callback(new Error('请输入正确的银行卡号'));
      } else {
        callback();
      }
    } else {
      callback();
    }
  },
  //判断是否为正整数
  isIntNum: (rule, value, callback) => {
    var regPos = /^[0-9]*[1-9][0-9]*$/; //正整数
    if (regPos.test(value) || Number(value) === 0) {
      callback();
    } else {
      callback(new Error('请输入正整数'));
    }
  }
}

 

posted @ 2022-12-20 16:25  龙儿哥哥的博客  阅读(121)  评论(0编辑  收藏  举报