常见的校验规则:

手机号的校验规则:

/^((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()
   }
};
只能输入数字(包括整数,小数):

不需要正则

Vue.prototype.isDigital= (rule, value, callback) => {
if (value) {
    if (Number(value) || Number(value) === 0) {
      // 是数字类型但0开头的字符串也能通过,只需要再判断一下是否是0开头的长度大于1的字符串即可
      if (value.length > 1 && value.substr(0, 1) === '0' && value.split('.').length === 1) {
        callback(new Error('请输入数字'))
      } else if (value.substr(value.length - 1, 1) === '.') {
        callback(new Error('请输入数字'))
      } else if (value.substr(0, 1) === '.') {
        callback(new Error('请输入数字'))
      } else {
        callback()
      }
    } else {
      callback(new Error('请输入数字'))
    }
  } else {
    callback(new Error('请输入数字'))
  }
};
Logo

前往低代码交流专区

更多推荐