常用正则验证

可验证类型

  • 手机
  • 邮箱
  • 电话
  • 负浮点数
  • 正浮点数
  • 整数
  • 正整数
  • 负整数
  • 中国邮政编码
  • 日期格式
  • 汉字
  • 数字
  • 特殊字符
  • URL
  • 身份证
  • QQ
  • 微信
  • 车牌

完整代码

class Reg {
  constructor() {
    this.regDatas = {
      "负浮点数": /^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/,
      "正浮点数": /^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/,
      "整数": /^-?[1-9]\d*$/,
      "正整数": /^[1-9]\d*$/,
      "负整数": /^-[1-9]\d*$/,
      "中国邮政编码": /[1-9]\d{5}(?!\d)/,
      "日期格式": /^\d{4}-\d{1,2}-\d{1,2}/,
      "汉字": /^[\u4e00-\u9fa5]{0,}$/,
      "数字": /^[0-9]*$/,
      "邮箱": /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/,
      "手机": /^(0\d{2,3}\-)?([2-9]\d{6,7})+(\-\d{1,6})?$|^1(3|4|5|6|7|8|9)\d{9}$/g,
      "电话": /^([0-9]{3,4}-)?[0-9]{7,8}$/,
      "URL": /^http[s]?:\/\/.*/,
      "特殊字符": /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/im,
      "身份证": /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
      "QQ": /^[1-9][0-9]{4,10}$/,
      "微信": /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/,
      "车牌": /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/,
    }
  }
  toRegular(value, str) {
    if (!this.regDatas.hasOwnProperty(str)) {
      throw new Error(str + "类型不存在,请输入正确的正则验证类型!")
    }
    return this.regDatas[str].test(value)
  }
}

使用方式

  • 在需要的地方
const reg = new Reg()
  • 例如: 验证一个手机号码
const mobile = 18475435623
const val = reg.toRegular(mobile, "手机")
console.log(val) // true

const mobile = 9527
const val = reg.toRegular(mobile, "手机")
console.log(val) // false

const mobile = 9527
const val = reg.toRegular(mobile, "姓名")
console.log(val) // Uncaught Error: xxx类型不存在,请输入正确的正则验证类型!

原文链接

常用正则验证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值