Menu
CoddyTech

域名

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

john@gmail.com

加粗的部分是域名。

域名是由字母和数字组成的字符串,用于定义互联网上由特定邮箱服务提供商或组织拥有和控制的空间。

域名最多可包含 253 个字符,由以下内容组成:

  • 英文大写和小写字母(A-Z, a-z)
  • 0 到 9 的数字 
  • 连字符(-)
  • 句点(.)  (用于标识子域名;例如,  creator.coddy)
challenge icon

挑战

简单

为 validate 添加域名验证功能。

在我们的验证器中,我们将支持更简单的规则,收件人名称的长度应最多为 12 个字符,且至少为 3 个字符,并且只能包含:

  • 英文字母的大写和小写字母(A-Z、a-z)
  • 0 到 9 的数字
  • 连字符(-)

和之前一样,如果输入的电子邮件有效,函数 validate 应返回 true;现在还要验证域名。

你不需要支持子域名,可以假设域名中不会有句点(.)。

亲手试试

PERMITS = '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:
            return False
    if '.' == recipient_name[0] or '.' == recipient_name[-1] or '_' == recipient_name[0] or '_' == recipient_name[-1]:
        return False
    return True
    

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

自己练习: Python 在线编译器