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

如何检查输入文本是否包含指定后缀?Python邮箱验证代码问题

如何检查文本中是否包含特定子文本?

你的代码问题出在判断逻辑上:email in list是在判断输入的完整字符串是否完全等于列表中的某一项。而你输入的myname123@gmail.com是包含@gmail.com但并非完全匹配列表里的元素,所以会进入else分支。

要实现「检查文本是否包含特定子文本」的需求,可以用以下两种方式修改代码:

方法1:检查文本中是否存在任一特定子串

这种方式会验证输入文本的任意位置是否包含列表中的后缀,适合通用的包含检查场景:

import time

valid_suffixes = ["@gmail.com", "@yahoo.com", "@outlook.com"]
email = input("Email: ") 
time.sleep(1.5)

if any(suffix in email for suffix in valid_suffixes):
    print(email) 
else:
    print("\nPlease enter a valid email!") 

方法2:检查文本是否以特定子串结尾(更适合邮箱验证)

邮箱的后缀是固定在末尾的,用str.endswith()方法更严谨,可以避免比如gmail.com@invalid.com这类错误匹配的情况:

import time

valid_suffixes = ["@gmail.com", "@yahoo.com", "@outlook.com"]
email = input("Email: ") 
time.sleep(1.5)

# endswith支持传入元组,批量检查多个后缀
if email.endswith(tuple(valid_suffixes)):
    print(email) 
else:
    print("\nPlease enter a valid email!") 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 11:13:15