PHP 中有效域名检查所需的正则表达式


Regular expression required for valid domain name check in PHP

我需要一个正则表达式来检查域名,包括像a-z A-Z 0-9 -

还有任何域名有下划线 _ 字符吗?

请帮助我。

我想这就是您要搜索的内容:

^[a-zA-Z0-9

]+([a-zA-Z0-9-.]+)?.(com|org|net|mil|edu|de|COM|ORG|NET|MIL|EDU|DE)$

这个正则表达式适用于任意数量的子域和所有顶级域(世界不仅仅是 murka):

/^ (?: [a-z0-9] (?:[a-z0-9'-]* [a-z0-9])? '. )*  #Subdomains
   [a-z0-9] (?:[a-z0-9'-]* [a-z0-9])?            #Domain
   '. [a-z]{2,6} $                               #Top-level domain
/ix

域名不能有下划线。只有 [a-zA-Z0-9],以及连字符(如果它们不在子域名的开头或结尾)。