Common validation of form forms

Mail

export function isEmail(s) {
  return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}

phone number

export function isMobile(s) {
  return /^1[0-9]{10}$/.test(s)
}

telephone number

export function isPhone(s) {
  return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}

URL address

export function isURL(s) {
  return /^http[s]?:\/\/.*/.test(s)
}

Longitude (in China: 73~136) with a maximum of 6 decimal places

export function isLongitude(s) {
  return /^(7[3-9]|[8-9]\d{1}|1[0-2]\d{1}|13[0-6])(\.\d{0,6})$/.test(s)
}

Latitude (in China: 3~54) up to 6 decimal places

export function isLatitude(s) {
  return /^([3-9]|[1-4]\d{1}|5[0-4])(\.\d{0,6})$/.test(s)
}

ID number format

export function validateIdentifyCode(rule, value, callback) {
  if (value == '' || value == null) {
    callback()
  } else if (!isIdentifyCode(value)) {
    callback(new Error('身份证号码格式错误'))
  } else {
    callback()
  }
}
export function isIdentifyCode(s) {
  return /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(s)
}

I'll add it later

/**
 * 邮箱
 * @param {*} s
 */
export function isEmail(s) {
  return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}

/**
 * 0-999数值校验
 * @param {*} s
 */
export function isUserNum(s) {
  return /^[1-9][0-9]{0,2}$/.test(s)
}

/**
 * 手机号码
 * @param {*} s
 */
export function isMobile(s) {
  return /^1[0-9]{10}$/.test(s)
}

/**
 * 电话号码
 * @param {*} s
 */
export function isPhone(s) {
  return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}

/**
 * URL地址
 * @param {*} s
 */
export function isURL(s) {
  return /^http[s]?:\/\/.*/.test(s)
}

/**
 * @description 经度(中国境内:73~136)小数点最多 6 位
 */
export function isLongitude(s) {
  return /^(7[3-9]|[8-9]\d{1}|1[0-2]\d{1}|13[0-6])(\.\d{0,6})$/.test(s)
}

/**
 * @description 纬度(中国境内:3~54)小数点最多 6 位
 */
export function isLatitude(s) {
  return /^([3-9]|[1-4]\d{1}|5[0-4])(\.\d{0,6})$/.test(s)
}

export function isIdentifyCode(s) {
  return /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(s)
}

export function validateUserNum(rule, value, callback) {
  if (value == '' || value == null) {
    callback()
  } else if (!isUserNum(value)) {
    callback(new Error('人数在0-999范围内'))
  } else {
    callback()
  }
}

/**
 * valid phone in form
 * @param rule
 * @param value
 * @param callback function()
 */
export function validatePhone(rule, value, callback) {
  if (value == '' || value == null) {
    callback()
  } else if (!isMobile(value)) {
    callback(new Error('手机号码格式错误'))
  } else {
    callback()
  }
}

// 联系电话校验(手机号 / 固定电话)
export function validateContactPhone(rule, value, callback) {
  if (value == '' || value == null) {
    callback()
  } else if (!isMobile(value) && !isPhone(value)) {
    callback(new Error('联系电话格式错误'))
  } else {
    callback()
  }
}

export function validateIdentifyCode(rule, value, callback) {
  if (value == '' || value == null) {
    callback()
  } else if (!isIdentifyCode(value)) {
    callback(new Error('身份证号码格式错误'))
  } else {
    callback()
  }
}

//身份证验证
export function identityNoVali(rule, sId, callback) {
  if (sId == '' || sId == null) {
    callback()
  }
  var iSum = 0
  var sBirthday
  var aCity = {
    11: '北京',
    12: '天津',
    13: '河北',
    14: '山西',
    15: '内蒙古',
    21: '辽宁',
    22: '吉林',
    23: '黑龙江',
    31: '上海',
    32: '江苏',
    33: '浙江',
    34: '安徽',
    35: '福建',
    36: '江西',
    37: '山东',
    41: '河南',
    42: '湖北',
    43: '湖南',
    44: '广东',
    45: '广西',
    46: '海南',
    50: '重庆',
    51: '四川',
    52: '贵州',
    53: '云南',
    54: '西藏',
    61: '陕西',
    62: '甘肃',
    63: '青海',
    64: '宁夏',
    65: '新疆',
    71: '台湾',
    81: '香港',
    82: '澳门',
    91: '国外 '
  }
  if (!/^\d{17}(\d|x)$/i.test(sId)) {
    callback(new Error('你输入的身份证长度或格式错误'))
  }
  sId = sId.replace(/x$/i, 'a')
  if (aCity[parseInt(sId.substr(0, 2))] == null) {
    callback(new Error('你的身份证地区非法'))
  }
  sBirthday = sId.substr(6, 4) + '-' + Number(sId.substr(10, 2)) + '-' + Number(sId.substr(12, 2))
  var d = new Date(sBirthday.replace(/-/g, '/'))
  if (sBirthday != d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate()) {
    callback(new Error('身份证上的出生日期非法'))
  }
  for (var i = 17; i >= 0; i--) iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11)
  if (iSum % 11 != 1) {
    callback(new Error('你输入的身份证号非法'))
  } else {
    callback()
  }
}

/**
 * @description 校验经度
 */
export function validateLongitude(rule, value, callback) {
  if (value == '' || value == null) {
    callback()
  } else if (!isLongitude(value)) {
    callback(new Error('经度不合规则(73~136 小数点最多6位)'))
  } else {
    callback()
  }
}

/**
 * @description 校验纬度
 */
export function validateLatitude(rule, value, callback) {
  if (value == '' || value == null) {
    callback()
  } else if (!isLatitude(value)) {
    callback(new Error('纬度不合规则(3~54 小数点最多6位)'))
  } else {
    callback()
  }
}

/**
 * @description 三位数两位小数
 */
export function validateDecimal3(rule, value, callback) {
  if (!/(^[0-9]{1,3}$)|(^[0-9]{1,3}[\.]{1}[0-9]{1,2}$)/.test(value)) {
    callback(new Error('最大值不能超过3位,小数点2位'))
  } else {
    callback()
  }
}

/**
 * @description 五位数两位小数
 */
export function validateDecimal5(rule, value, callback) {
  if (!/(^[0-9]{1,5}$)|(^[0-9]{1,5}[\.]{1}[0-9]{1,2}$)/.test(value)) {
    callback(new Error('最大值不能超过5位,小数点2位'))
  } else {
    callback()  
  }
}

Guess you like

Origin blog.csdn.net/wzwzwz555/article/details/126600011