用于有效域名的正则表达式

时间:2019-04-11 09:03:37

标签: regex

我在创建正则表达式以仅允许有效域名时遇到一些问题。 规则是:

  • 至少3个字符。
  • 可以有点,但不能连续两个。不能再有其他特殊字符
  • 可以有大小写字母和数字
  • 在两点之间,必须至少有一个字符

例如:

有效域名-> bruno.cCm.pt3

无效的域名-> bruno..com(或bruno)。

我现在所拥有的是:^.{2,253}([A-Za-z\d](-*[A-Za-z\d])*)(\.([A-Za-z\d](-*[A-Za-z\d])*))*$

1 个答案:

答案 0 :(得分:1)

尝试这个,我做了一些测试,我认为它可以解决您的问题:

  

(?: a-z0-9?。)+ [a-z0-9] [a-z0-9-] {0,61} [a-z0-9]

还应该帮助您从更复杂的字符串中提取域名。

这也应该处理大小写:

  

(?: a-zA-Z0-9?。)+ [a-zA-Z0-9] [a-zA-Z0-9-] {0,61} [a-zA-Z0-9]