常见正则校验


/* 合法uri */
export function validateURL(url: string) {
  const r = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
  return r.test(url)
}

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

/** ip */
export function isIp(s: string) {
  return /^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$/.test(s)
}

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

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

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

/** 检测邮箱 */
export function validateEmail(email: string) {
  const re = /^(([^<>()\\[\]\\.,;:\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,}))$/
  return re.test(email)
}

/**
 * 判断手机号码是否正确
 */
export function isvalidatemobile(phone: string) {
  const list = []
  let result = true
  let msg = ''
  const isPhone = /^0\d{2,3}-?\d{7,8}$/
  // 增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678]
  if (!validatenull(phone)) {
    if (phone.length === 11) {
      if (isPhone.test(phone)) {
        msg = '手机号码格式不正确'
      } else {
        result = false
      }
    } else {
      msg = '手机号码长度不为11位'
    }
  } else {
    msg = '手机号码不能为空'
  }
  list.push(result)
  list.push(msg)
  return list
}

/** 判断是否为空 */
export function validatenull(val: any) {
  if (val === 'null' || val === null || val === 'undefined' || val === undefined || val === '') {
    return true
  }

  if (typeof val === 'boolean') {
    return false
  }
  if (typeof val === 'number') {
    return false
  }
  if (val instanceof Array) {
    if (val.length === 0) return true
  } else if (val instanceof Object) {
    if (JSON.stringify(val) === '{}') return true
  }
  return false
}

//限制特殊字符输入,只允许输入数字和字母,字母不区分大小写
replace(/[^a-z\d]+/ig,'')

//输入框输入多个支持逗号 空格 回车隔开
      let rqmtCode = []
      if (this.submit.rqmtCode.length) {
        rqmtCode = this.submit.rqmtCode.split(/[,,\r\n\s]+/).join(',')
      }

你可能感兴趣的:(常见正则校验)