You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分输入的邮箱地址并校验@右侧部分是否以.com结尾

邮箱有效性校验实现方案

现有代码问题说明

你编写的elif email.split("@", 2)存在两处问题:

  • split("@", 2)的第二个参数代表最大拆分次数,传2意味着最多拆分2次,最多会得到3个片段,不符合你要求拆成左右两个部分的需求,应该改为split("@", 1),确保不管有多少个@,最多只拆分1次,得到最多2个片段
  • 你只调用了split方法没有接收返回值、也没有设置判断条件,这段代码单独写在elif后会直接触发语法错误

完整实现步骤

  • 第一步:对输入的邮箱字符串按@拆分,限制最大拆分次数为1
  • 第二步:判断拆分结果的长度是否为2,若不是说明邮箱没有@,直接判定为不合法
  • 第三步:提取拆分后的右侧域名部分,调用endswith('.com')方法判断是否以.com后缀结尾

示例代码

def check_email_valid(email):
    # 按@最多拆分1次,得到[用户名, 域名] 或者 仅包含原字符串的列表
    split_res = email.split("@", 1)
    if len(split_res) != 2:
        # 不存在@,校验不通过
        return False
    domain_part = split_res[1]
    # 校验域名是否以.com结尾
    return domain_part.endswith('.com')

# 测试示例
print(check_email_valid("student@school.com")) # 输出 True
print(check_email_valid("test@example.cn")) # 输出 False
print(check_email_valid("wrongmail.com")) # 输出 False

内容的提问来源于stack exchange,提问作者AsgardiAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:36:03