编写正则表达式以进行复杂验证

问题描述 投票:2回答:2

我必须验证一个可以的字符串

  1. 以数字或字母开头和结尾。
  2. 必须只包含小写字母,数字,破折号(-),下划线(_)和点。
  3. 必须包含363字符。包含点的名称最多可包含222字符,但每个点分隔的组件不能超过63字符。
  4. 不能是IP地址
  5. 不能以前缀"AABRA"开头

我写了一些表达式,但它只验证以字母和数字开头的字符串,该字符串只能包含上面列出的特殊字符

^[a-z0-9][-_. a-z0-9]+[a-z0-9]$

但是我如何验证像"abc.bys.123123"这样的字符串,其中.之间的单词长度应该在3到63之间

javascript
2个回答
0
投票

对于m到n次重复,请使用{m,n}。所以正则表达式将是^[a-z0-9][-_. a-z0-9]{3,63}[a-z0-9]$

编辑:不完全是你要求的。但这应该有助于正确实施。要学习正则表达式尝试这个https://regexone.com/


0
投票

尝试以下regEx

^([a-z d] [-_。a-z0-9]([a-z d] +)){3,63} $

测试你提到的情况

Test Cases

© www.soinside.com 2019 - 2024. All rights reserved.