域名
Coddy 使用 Python 验证电子邮件地址 课程的第 4 课,共 8 课。
john@gmail.com
加粗的部分是域名。
域名是由字母和数字组成的字符串,用于定义互联网上由特定邮箱服务提供商或组织拥有和控制的空间。
域名最多可包含 253 个字符,由以下内容组成:
- 英文大写和小写字母(A-Z, a-z)
- 0 到 9 的数字
- 连字符(-)
- 句点(.) (用于标识子域名;例如, creator.coddy)
挑战
简单为 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 在线编译器