如何在php中验证正确的域名和子域

wow*_*wow 4 php regex dns validation

如何删除www验证有效域名。

有效域

domain.com
subdomain.domain.com
sub-domain.domain.com
Run Code Online (Sandbox Code Playgroud)

无效的网域

www.domain.com
www.subdomain.domain.com
http://www.domain.com/
http://www.subdomain.com/
www.domain.com/folder/
Run Code Online (Sandbox Code Playgroud)

怎么写代码?

$domain ='www.domain.com/folder/';
if() {
// validate here
}
Run Code Online (Sandbox Code Playgroud)

use*_*276 5

首先,手动剥离www。然后只需确保其格式为domain.tld或something.domain.tld

$domain = str_replace('www.','',$domain);

if(preg_match('/([a-zA-Z0-9\-_]+\.)?[a-zA-Z0-9\-_]+\.[a-zA-Z]{2,5}/',$domain)) //valid domain

  • 您似乎将“.”和“,”混在一起了……而且 TLD 不限于 4 个字符……问题似乎是要求拒绝带有“www”的主机名,而不是对其进行标准化。 (2认同)
  • 博物馆吗?TLD中的6个字符。您还可以添加另一个检查,域名和子域名最多只能包含63个字符。 (2认同)