编写用于复杂验证的正则表达式

时间:2019-03-27 09:48:40

标签: javascript

我必须验证可以使用的字符串

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

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

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

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

2 个答案:

答案 0 :(得分:0)

尝试以下regEx

^([az \ d] [-_。a-z0-9] ([az \ d] +)){3,63} $ < / p>

测试了您提到的情况

Test Cases

答案 1 :(得分:0)

对于m到n的重复,请使用{m,n}。因此正则表达式为^[a-z0-9][-_. a-z0-9]{3,63}[a-z0-9]$

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