常用async验证

常用async验证

/**
 * @description 默认验证规则
 */
export default {
  rules: {
    // input非空
    notNullInput: [{
      validator: function (rule, value, callback) {
        // 值为0时的验证
        if (value != undefined && value === 0) {
          callback();
        }
        if (value) {
          if (value.toString().replace(/\s+/g, "") != "") {
            callback();
          } else {
            callback(new Error('此项为必填项'));
          }
        } else {
          callback(new Error('此项为必填项'));
        }
      },
      trigger: 'blur',
      required: true
    }],
    // select checkbox radios 非空
    notNullSelect: [{
      required: true,
      message: '此项为必选项',
      trigger: 'change'
    }],
    // 数字验证
    isNumber: [{
      validator: function (rule, value, callback) {
        let reg = /^[0-9]+(.[0-9]{1,8})?$/;
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('请输入正确数字'));
        }
      },
      trigger: 'blur',
      required: true
    }],
    // 年份验证
    isYear: [{
      validator: function (rule, value, callback) {
        let reg = /^(18|19|20|21)\d{2}$/;
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('请输入正确年份'));
        }
      },
      trigger: 'blur',
      required: true
    }],
    // 身份证验证
    isIdCard: [{
      validator: function (rule, value, callback) {
        let reg = /^([1-9]\d{5})((18|19|20)\d{2})((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}([0-9]|X|x)$/
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('身份证号格式错误'));
        }
      },
      trigger: 'blur',
      required: true
    }],
    // 电话号验证
    isPhone: [{
      validator: function (rule, value, callback) {
        let regP = /^1[3456789]\d{9}$/;
        let regT = /\d{3}-\d{8}|\d{4}-\d{7,8}/
        if (regP.test(value) || regT.test(value)) {
          callback();
        } else {
          callback(new Error('电话号码格式错误'));
        }
      },
      trigger: 'blur',
      required: true
    }],
    // 中文字符
    isChinese: [{
      validator: function (rule, value, callback) {
        let reg = /^[\u0391-\uFFE5]+$/;
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('只允许中文字符'));
        }
      },
      trigger: 'blur',
      required: true
    }],
    // 账号
    isAccount: [{
      validator: function (rule, value, callback) {
        let reg = /^[a-zA-Z0-9]+$/;
        if (reg.test(value) && value) {
          callback();
        } else {
          callback(new Error('只允许英文字符或数字'));
        }
      },
      trigger: 'blur',
      required: true
    }],
    // 邮箱验证
    isEmail: [{
      validator: function (rule, value, callback) {
        let reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('邮箱格式错误'));
        }
      },
      trigger: 'blur',
      required: true
    }],
    // 统一社会信用代码验证
    isUnified:[{
      validator: function (rule, value, callback) {
        let reg = /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('信用代码格式错误'));
        }
      },
      trigger: 'blur',
      required: true
    }],

    // 百分数小于100
    isPercent:[{
      validator: function (rule, value, callback) {
        let nums = parseFloat(value)
        if (nums <= 100.00) {
          callback();
        } else {
          callback(new Error('不允许超过100%'));
        }
      },
      trigger: 'blur',
      required: true
    }],

    // 百分数小于100 大于 0
    isPercentNotZero:[{
      validator: function (rule, value, callback) {
        let nums = parseFloat(value)
        if (nums >= 100.00) callback(new Error('不允许超过100%'))
        if (nums == 0.00) callback(new Error('必须大于0%'))
        callback()
      },
      trigger: 'blur',
      required: true
    }],

    // 邮编验证
    isPostCode: [{
      validator: function (rule, value, callback) {
        let reg = /^[0-9]{6}$/;
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('邮编格式错误'));
        }
      },
      trigger: 'blur',
      required: true
    }],
    // 传真验证(必输)
    isFax: [{
      validator: function (rule, value, callback) {
        let reg = /^(?:\d{3,4}-)?\d{7,8}(?:-\d{1,6})?$/;
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('传真格式错误'));
        }
      },
      trigger: 'blur',
      required: true
    }],

    // 是否是正整数
    isPositiveNumber: [{
      validator: function (rule, value, callback) {
        // 值为0时的验证
        if (value != undefined && value > 0) {
          callback();
        }else{
          callback(new Error('数值必须大于0'));
        }
      },
      trigger: 'blur',
      required: true
    }],

    // 机构编码验证
    isOrgCode: [{
      validator: function (rule, value, callback) {
        let reg = /^[0-9][0-9]/;
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('机构编码格式错误'));
        }
      },
      trigger: 'blur',
      required: true
    }],

    // 合同电话号验证
    isPhoneForContract: [{
      validator: function (rule, value, callback) {
        if(value == '/' || value == '\\' || value == '无'){
          callback()
        }
        let regP = /^1[3456789]\d{9}$/;
        let regT = /\d{3}-\d{8}|\d{4}-\d{7,8}/
        if (regP.test(value) || regT.test(value)) {
          callback();
        } else {
          callback(new Error('电话号码格式错误'));
        }
      },
      trigger: 'blur',
      required: true
    }],
    // 合同数字验证
    isNumberForContract: [{
      validator: function (rule, value, callback) {
        if(value == '/' || value == '\\' || value == '无'){
          callback()
        }
        let reg = /^[0-9]+(.[0-9]{1,8})?$/;
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('请输入正确数字'));
        }
      },
      trigger: 'blur',
      required: true
    }],
    // 邮箱验证(不验证必输)
    isEmailNotReq: [{
      validator: function (rule, value, callback) {
        if (!value) {
          callback();
          return;
        }
        let reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('邮箱格式错误'));
        }
      },
      trigger: 'blur',
      required: false
    }],

    // 数字验证(不验证必输)
    isNumberNotReq: [{
      validator: function (rule, value, callback) {
        if (!value) {
          callback();
          return;
        }
        let reg = /^[0-9]+(.[0-9]{1,8})?$/;
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('请输入正确数字'));
        }
      },
      trigger: 'blur',
      required: false
    }],

    // 电话号验证(不验证必输)
    isPhoneNotReq: [{
      validator: function (rule, value, callback) {
        if (!value) {
          callback();
          return;
        }
        let regP = /^1[3456789]\d{9}$/;
        let regT = /\d{3}-\d{8}|\d{4}-\d{7,8}/
        if (regP.test(value) || regT.test(value)) {
          callback();
        } else {
          callback(new Error('电话号码格式错误'));
        }
      },
      trigger: 'blur',
      required: false
    }],

    // 身份证验证(不验证必输)
    isIdCardNotReq: [{
      validator: function (rule, value, callback) {
        if (!value) {
          callback();
          return;
        }
        let reg = /^([1-9]\d{5})((18|19|20)\d{2})((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}([0-9]|X|x)$/
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('身份证号格式错误'));
        }
      },
      trigger: 'blur',
      required: false
    }],

    // 百分数小于100(不验证必输)
    isPercentNotReq:[{
      validator: function (rule, value, callback) {
        if (!value) {
          callback();
          return;
        }
        let nums = parseFloat(value)
        if (nums <= 100.00) {
          callback();
        } else {
          callback(new Error('不允许超过100%'));
        }
      },
      trigger: 'blur',
      required: false
    }],
     // 传真验证(不验证必输)
    isFaxNotReq: [{
      validator: function (rule, value, callback) {
        if (!value) {
          callback();
          return;
        }
        let reg = /^(?:\d{3,4}-)?\d{7,8}(?:-\d{1,6})?$/;
        if (reg.test(value)) {
          callback();
        } else {
          callback(new Error('传真格式错误'));
        }
      },
      trigger: 'blur',
      required: false
    }],
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值