Java正则表达式汇总

1.不可包含特殊字符的正则表达式

/^((?!\\|\/|:|\*|\?|<|>|\||'|%|\@|\#|\$|\%|\^|\&|\(|\)|\[|\]|\{|\}|\.|\!|\¥|\+|\=|"|”|“).){1,50}$/

注: /^表示开头,$/表示结尾,中间的\表示转义,|表示或(起连接作用),(1,50)表示长度范围为1~50

2.字符串不可包含空格(开头结尾不得为空格)

/^\S*$/      //不可包含任何空格
/^\S([\s\S]*\S)?$/  //头尾不可包含空格

3.IP地址校验

/^([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$/


// 可输入多个,以逗号分隔,校验重复
  public ipValidate(): ValidatorFn {
    return (control: AbstractControl): { [key: string]: any } => {
      let val = control.value;
      var valchange = /^(?:(?:^|,)(?:[0-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(?:\.(?:[0-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}){0,10}$/;
      if(val.length == 0){
        return {}
      }
      if (!valchange.test(val)) {
        return {
          pattern: true      
        };
      }
      var vals = val.split(',');
      var set=new Set();
      for(var i=0;i<vals.length;i++)
      {
        set.add(vals[i]);
      }
      if(set.size<vals.length)
      {
        return {
          repeat: true
        };
      }
      return {};
    };
  }

4.MAC地址校验

/^([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}$/)


//可输入多个,以逗号分隔
//MAC地址校验
  public macValidate(): ValidatorFn {
    return (control: AbstractControl): { [key: string]: any } => {
      let val = control.value;
      var valchange = /^([0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2})(,[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2})*$/;
      var valchange1 = /^([0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2})(,[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2})*$/;
      var vals = val.split(',');
      if(val.length == 0){
        return {}
      }
      if (val.length > 200) {
        return {
          pattern: true
        };
      }
      else
        for (var i = 0; i < vals.length; i++) {
          if (!valchange.test(vals[i]) && !valchange1.test(vals[i])) {
            return {
              pattern: true
            };
          }
        }
      return {}
    };
  }

5.子网掩码校验

/^((254|252|248|240|224|192|128)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0))$/

6.默认网关、DNS校验

/^([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$/

7.可输入单条IP或CIDR

/^([0-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.([0-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}(\/([1-9]|[1-2]\d|[3][0-2])){0,1}$/

8.可输入多条IP或CIDR,以分号分隔

/^(?:(?:^|;)(?:[0-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.([0-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}(\/([1-9]|[1-2]\d|[3][0-2])){0,1})+$/

9.可输入多条CIDR,以分号分隔

/^(?:(?:^|;)(?:[0-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(?:\.(?:[0-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}(?:\/([1-9]|[1-2]\d|[3][0-2])))+$/

10、强密码校验

/((^(?=.*[a-z])(?=.*[A-Z])(?=.*\W)[\da-zA-Z\W]{8,18}$)|(^(?=.*\d)(?=.*[A-Z])(?=.*\W)[\da-zA-Z\W]{8,18}$)|(^(?=.*\d)(?=.*[a-z])(?=.*\W)[\da-zA-Z\W]{8,18}$)|(^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[\da-zA-Z\W]{8,18}$))/       //必须包含大写字母,小写字母,数字和特殊符号中的任意3种,8-18字符

11、时间段校验

//1.时间段校验 例11:12~13:11,不可跨天
    /^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]~(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/).test(value)


//2.多个时间段,以逗号分隔,不可跨天
/^((0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]~(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9],){0,4}(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]~(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/).test(value)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值