以下为Python版本的域名合法性判断代码:
import re
def is_valid_domain(domain):
# 判断域名是否符合规则
if not re.match(r'^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$', domain):
return False
# 判断域名是否在ICANN注册表中
try:
import whois
domain_info = whois.whois(domain)
if not domain_info.status or 'pending' in domain_info.status:
return False
else:
return True
except:
return False
python
该函数接受一个字符串类型的域名作为参数,使用正则表达式判断域名是否符合规则,然后使用Python中的whois库查询该域名信息,判断该域名是否在ICANN注册表中,并且是否已经注册成功。如果全部符合要求,返回True,否则返回False。
使用示例:
domain = 'example.com'
result = is_valid_domain(domain)
print(result) # 输出 True
domain = 'example'
result = is_valid_domain(domain)
print(result) # 输出 False