常用的正则校验(持续更新)

大于0小于100数字

export function validateNumber(val) {
  const reg = /^\d\.([1-9]{1,2}|[0-9][1-9])$|^[1-9]\d{0,1}(\.\d{1,2}){0,1}$|^100(\.0{1,2}){0,1}$/;
  return reg.test(val)
}

小数点后两位


//小数点后两位
export function validPointTwo(val) {
  var reg =  /^(\d+)(.\d{0,2})?$/;
  return reg.test(val);
}

邮箱正则验证


export function validEmail(val) {
  const reg = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
  return reg.test(val)
}

字母加数字


// 字母加数字
export function validPassword(val) {
  const reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,21}$/;
  return reg.test(val)
}

输入纯汉字

export function validChinese(val) {
  const reg = /^[\u4e00-\u9fa5]+$/;
  return reg.test(val)
}

各种证件号码的正则(军官证,港澳台身份证,护照,组织机构代码,营业执照,手机号)

放在element-ui表单验证的rules对象里面,在js文件中将下列正则暴露出来,在vue文件中直接使用 validateObj.isNumberThanZero 验证

      rules: {
        sqrnl: [
          { required: true, message: "不能为空~" },
          { validator: validateObj.isNumberThanZero },
        ],
        sqrdh: [
          { required: true, message: "不能为空~" },
          { validator: validateObj.isPhone },
        ],
      },


// element-ui验证
let validateObj = {
  _this: {},
  // 整数
  isNumberThanZero: (rule, value, callback) => {
    let reg = /^[0-9]\d*$/
    if (!value) {
      callback();
    } else if (reg.test(value)) {
      callback();
    } else {
      callback(new Error('请输入整数'));
    }
  },
  // 保留两位小数
  isNumberFloat: (rule, value, callback) => {
    let reg = /(^[1-9](\d+)?(\.\d{1,2})?$)|(^0$)|(^\d\.\d{1,2}$)/
    if (!value) {
      callback();
    } else if (reg.test(value)) {
      callback();
    } else {
      callback(new Error('请输入有效数字,且最多保留两位小数~'));
    }
  },
  // 大陆身份证号验证规则
  isIdCardNo: (rule, value, callback) => {
    if (!value) {
      callback();
    } else if (isIdCardNo(value)) {
      callback();
    } else {
      callback(new Error('请输入正确的证件号码~'));
    }
  },
  // 港澳台身份证验证规则
  isIdCardNoGAT: (rule, value, callback) => {
    let patternHongkong = /^((\s?[A-Za-z])|([A-Za-z]{2}))\d{6}(\([0−9aA]\)|[0-9aA])$/; //香港
    let patternTaiwan = /^[a-zA-Z][0-9]{9}$/; //台湾
    let patternMacao = /^[1|5|7][0-9]{6}\([0-9Aa]\)/; //澳门
    if (!value) {
      callback();
    } else if (patternHongkong.test(value) || patternTaiwan.test(value) || patternMacao.test(value)) {
      callback();
    } else {
      callback(new Error('请输入正确的证件号码~'));
    }
  },
  // 护照验证规则
  isIdCardNoHZ: (rule, value, callback) => {
    let PassportNumberReg = /^([a-zA-z]|[0-9]){5,17}$/;
    if (!value) {
      callback();
    } else if (PassportNumberReg.test(value)) {
      callback();
    } else {
      callback(new Error('请输入正确的证件号码~'));
    }
  },
  // 军官证验证规则
  isIdCardNoJGZ: (rule, value, callback) => {
    let reg = /^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$/;
    if (!value) {
      callback();
    } else if (reg.test(value)) {
      callback();
    } else {
      callback(new Error('请输入正确的证件号码~'));
    }
  },
  // 组织机构代码
  isIdCardNoZZJG: (rule, value, callback) => {
    let reg = /^([a-zA-z]|[0-9]){9}$/;
    if (!value) {
      callback();
    } else if (reg.test(value)) {
      callback();
    } else {
      callback(new Error('请输入正确的证件号码~'));
    }
  },
  // 营业执照代码规则
  isIdCardNoYYZZ: (rule, value, callback) => {
    let reg =  /[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}/g;
    if (!value) {
      callback();
    } else if (reg.test(value)) {
      callback();
    } else {
      callback(new Error('请输入正确的证件号码~'));
    }
  },
  // 电话号
  isPhone: (rule, value, callback) => {
    let reg = /^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/; //手机号前三位是固定的
    let reg2 = /^(\(\d{3,5}\)|\d{3,5}-|\s)?\d{5,14}$/
    if (!value) {
      callback();
    } else if (reg.test(value) || reg2.test(value)) {
      callback();
    } else {
      callback(new Error('请输入正确的电话号码!'));
    }
  },
}

export {
  validateObj
}

版权声明:本文为Simplify_Webpage原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>