Menu
CoddyTech

顶级域名

Coddy 使用 Python 验证电子邮件地址 课程的第 5 课,共 8 课。

john@gmail.com

加粗部分是顶级域名。

顶级域名是互联网域名系统中的最高级别,位于电子邮件地址中的域名之后。

常见的顶级域名有:

  • com
  • net
  • org
challenge icon

挑战

简单

为 validate 添加顶级域名验证功能。

在我们的验证器中,我们会采用更简单的规则,检查顶级域名是否为以下域名之一:

  • com
  • net
  • org
  • tech

其他任何域名都应返回 False!

亲手试试

PERMITS_RECIEPENT = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._'
PERMITS_DOMAIN = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-'

def validate(email):
    if not email.count('@') == 1:
        return False

    recipient_name = email.split('@')[0]
    if len(recipient_name) > 24 or len(recipient_name) < 3:
        return False
    for c in recipient_name:
        if c not in PERMITS_RECIEPENT:
            return False
    if '.' == recipient_name[0] or '.' == recipient_name[-1] or '_' == recipient_name[0] or '_' == recipient_name[-1]:
        return False
    
    domain_name = email.split('@')[1].split('.')[0]
    if len(domain_name) > 12 or len(domain_name) < 3:
        return False
    for c in domain_name:
        if c not in PERMITS_DOMAIN:
            return False
    return True
    

使用 Python 验证电子邮件地址中的所有课

自己练习: Python 在线编译器