域的正则表达式允许在JavaScript中使用多个子域

时间:2016-06-28 15:53:12

标签: javascript regex subdomain domain-name

好的首先我必须说我检查了20个关于域名的问题,但没有人符合我的需要或者有不完整的/封闭的答案或者开始谈论http地址或dns。

说我会继续,

据我所知 (如果我错误的告诉我,我会尽可能快地更新)

则domainName .subdomain.otherSubdomain.otherSubdomain。的 domainExtension

  • 域名,子域名和域名扩展名不能超过63
  • 域名扩展名必须大于2
  • 域名扩展名只能包含字母。
  • 域名,子域名无法以破折号或点开头。
  • 域名和子域不能连续包含两个短划线
  • 域名和子域名可以包含字母,数字和短划线
  • 域可以有多个子域
  • 域名的总长度不能超过253(点数!)

  • 真实域扩展名有一个尾随点,因此全长为254 请记住,www.google.eswww.google.es. 的简写 所以尾随点是可选的。

- 一个域不能包含两个点

第一部分不允许在开头用破折号或点数

^(?![\-\.]) 

最后一部分是域扩展名,最少有两个,并且有一个可选的尾随点

([a-z]{1,62}|[a-z]{1,62}+\.)$

正则表达式将是这样的:

^(?![\-\.])[a-zA-Z0-9\.\-]{2,}+(?<![\-\.])([A\.][a-z]{1,62}|[A\.][a-z]{1,62}+\.)$

但这是通过破折号开始的内部双点和子域 google ..- subdomain.com

仍然需要检查最大63长度,总长度小于253

我感觉很亲密,但仍然缺少某些东西,或者可能会以更难的方式做事,所以...有人可以修复这个正则表达式吗?

非常感谢任何帮助。

0 个答案:

没有答案