c# - 如何让文本框只接受有效的电子邮件?

标签 c# winforms email visual-studio-2013 textbox

<分区>

我想让我的文本框检查输入到文本框中的电子邮件是否有效。

到目前为止我有:

if (!this.txtEmail.Text.Contains('@') || !this.txtEmail.Text.Contains('.')) 
{ 
    MessageBox.Show("Please Enter A Valid Email", "Invalid Email", MessageBoxButtons.OK, MessageBoxIcon.Error); 
}

但这只测试它是否有“@”和“.”。

有没有办法让它检查它是否有 .com 等但只有一个“@”?

最佳答案

.NET 可以为您完成:

  bool IsValidEmail(string eMail)
  {
     bool Result = false;

     try
     {
        var eMailValidator = new System.Net.Mail.MailAddress(eMail);

        Result = (eMail.LastIndexOf(".") > eMail.LastIndexOf("@"));
     }
     catch
     {
        Result = false;
     };

     return Result;
  }

关于c# - 如何让文本框只接受有效的电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29820568/

相关文章:

html - outlook 2010 电子邮件背景颜色 html/css 属性不起作用

c# - 如何使用 wcf 反序列化不同的接口(interface)实现

c# - 如何覆盖 Contains()?

windows - 取消隐藏表单时会触发什么 Windows 事件?

java - 尝试在 Spring Boot 中发送电子邮件时出现 NoSuchMethodError

email - 证书过期时数字签名失败

c# - 使用 Entity Framework 和 MVC4 SQL Server 插入后触发器不触发

c# - Visual Studio Profiler 与 Release模式——有什么区别?

c# - 使用picturebox作为 Canvas 并绘制文本

c# - 如何为 winforms 实现双击右键?