常见的正则校验规则

常见的校验规则:

手机号的校验规则:

/^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\d{8}$/;

Vue用法实例:

Vue.prototype.isMobile = (rule, value, callback) => {
  let mobileReg = /^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\d{8}$/;
  if (mobileReg.test(value)) {
    callback();
  } else {
    return callback(new Error('请输入手机号的正确格式'));
  }
};

邮箱的校验规则:

/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/

Vue用法实例:

Vue.prototype.isEmail = (rule, value, callback) => {
  let emailReg = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
  if (emailReg.test(value)) {
    callback();
  } else {
    return callback(new Error('请输入邮箱的正确格式'));
  }
};

身份证号的校验规则:

/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/

Vue用法实例:

Vue.prototype.idNoReg = (rule, value, callback) => {
 let idNoReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
 if (idNoReg.test(value)) {
   callback();
 } else {
   return callback(new Error('请输入正确的证件号'));
 }
};

护照号的校验规则:

/^1[45][0-9]{7}$|(^[P|p|S|s]\d{7}$)|(^[S|s|G|g|E|e]\d{8}$)|(^[Gg|Tt|Ss|Ll|Qq|Dd|Aa|Ff]\d{8}$)|(^[H|h|M|m]\d{8,10}$)/

Vue用法实例:

Vue.prototype.isPassportNoReg = (rule, value, callback) => {
  let isPassportNoReg = /^1[45][0-9]{7}$|(^[P|p|S|s]\d{7}$)|(^[S|s|G|g|E|e]\d{8}$)|(^[Gg|Tt|Ss|Ll|Qq|Dd|Aa|Ff]\d{8}$)|(^[H|h|M|m]\d{8,10}$)/;
  if (isPassportNoReg.test(value)) {
    callback();
  } else {
    return callback(new Error('请输入正确的护照号'));
  }
};

密码的校验规则: (规则在提示语那里)

/^(?!^(\d+|[a-zA-Z]+|[~_]+)$)^[\w~_]{6,16}$/

Vue.prototype.isLoginPass = (rule, value, callback) => {
  let loginPassword = /^(?!^(\d+|[a-zA-Z]+|[~_]+)$)^[\w~_]{6,16}$/;
  if (loginPassword.test(value)) {
    callback();
  } else {
    return callback(new Error('6-16位,字母、数字、下划线,至少两种'));
  }
};

只能输入英文的校验规则:

/^[A-Za-z]+$/

Vue.prototype.isWords = (rule, value, callback) => {
  let isWords = /^[A-Za-z]+$/;
  if (isWords.test(value)) {
    callback();
  } else {
    return callback(new Error('请输入拼音'));
  }
};

非负整数:

/^\d+$/

Vue.prototype.isInger = (rule, value, callback) => {
  let isInger= /^[A-Za-z]+$/;
  if (isInger.test(value)) {
    if (value.length > 1) {
    // 判断是否是0开头,0123也是不合法的
        if (value.substring(0, 1) > 0) {
            callback()
        } else {
            callback(new Error('请输入非负整数'))
        }
     } else {
         callback()
      }
   } else {
       callback(new Error('请输入非负整数'))
   }
};

不能输入汉字:

/[\u4E00-\u9FA5]/g

Vue.prototype.isZw = (rule, value, callback) => {
  let isZw = /[\u4E00-\u9FA5]/g;
  if (isZw.test(value)) {
     callback(new Error('不能输入中文'))
   } else {
     callback()
   }
};
上一篇:CQUPT第九届ACM校赛 H 锦鱼突刺 题解


下一篇:Eclipse常用设置