python判断域名是否合法|校验域名
import re
def is_valid_domain(domain):
"""校验域名,只支持英文域名"""
if len(domain) > 254:
return False
if not re.match("^((?!-)[A-Za-z0-9-]{1,63}(?, domain):
return False
return True
if __name__ == '__main__':
domains = [
'hello.user.yuedu.baidu.com', 'baidu.com', 'www.baidu.com', 'https://www.baidu.com', 'https://baidu.com',
'http://www.baidu.com', 'baidu@com', '1.1.1.1', 'baidu1.com.1', 'baidu.com.', '.baidu.com', 'baidu. com',
'baidu.com@', 'baid%u.com', 'baidu',
]
for d in domains:
a = is_domain_valid(d)
print(d, a)