验证 C# 中的电子邮件地址

  1. 使用 C# 中的 MailAddress 类验证电子邮件地址
  2. 使用 C# 中的 EmailAddressAttribute 类验证电子邮件地址
验证 C# 中的电子邮件地址

本教程将讨论在 C# 中验证电子邮件地址的方法。

使用 C# 中的 MailAddress 类验证电子邮件地址

当我们谈论检查格式时,想到的第一件事就是正则表达式。但是正则表达式相对复杂,学习正则表达式需要大量时间。如果你已经知道正则表达式,那么这对你来说是最好的方法。本教程将使用一些预定义的方法而不是任何用户定义的方法来验证 C# 中的电子邮件地址。MailAddress用于表示 C# 中的电子邮件地址。MailAddress 类的 constructor 接收字符串并将其格式化为电子邮件地址。我们可以使用 MailAddress 类来确定给定的电子邮件地址是否有效。以下代码示例向我们展示了如何使用 C# 中的 MailAddress 类来验证电子邮件地址。

using System;

namespace email_validation {
  class Program {
    static bool IsValidEmail(string email) {
      try {
        var addr = new System.Net.Mail.MailAddress(email);
        return addr.Address == email;
      } catch {
        return false;
      }
    }
    static void Main(string[] args) {
      bool isOk = IsValidEmail("mma @gma.com");
      Console.WriteLine(isOk);
    }
  }
}

输出:

false

我们定义了函数 IsValidEmail(email),该函数将电子邮件地址作为字符串,如果电子邮件有效,则返回 true,如果电子邮件 invalid,则返回 false。我们使用了 System.Net.Mail 命名空间中 MailAddress 类的构造函数来创建 MailAddress 类的新实例。然后,我们将 MailAddress 类的 Address 属性与我们的电子邮件地址进行了比较。如果地址与电子邮件匹配,则该电子邮件为有效。如果地址与电子邮件不匹配或在此过程中发生异常,则电子邮件为无效

使用 C# 中的 EmailAddressAttribute 类验证电子邮件地址

EmailAddressAttribute用于验证 C# 中的电子邮件地址。如果 email 有效,则 EmailAddressAttribute 类的 IsValid(email) 函数返回 true 或返回 null,如果 email 无效,则返回 false。以下代码示例向我们展示了如何使用 C# 中的 EmailAddressAttribute 类确定电子邮件地址是有效还是无效。

using System;
using System.ComponentModel.DataAnnotations;

namespace email_validation {
  class Program {
    static bool validateEmail(string email) {
      if (email == null) {
        return false;
      }
      if (new EmailAddressAttribute().IsValid(email)) {
        return true;
      } else {
        return false;
      }
    }
    static void Main(string[] args) {
      bool isOk = validateEmail("mma@gma.com");
      Console.WriteLine(isOk);
    }
  }
}

输出:

true

我们创建了函数 validateEmail(),该函数将电子邮件地址作为字符串参数,如果电子邮件有效,则返回 true,如果无效则返回 false。如果 emailnullvalidateEmail() 函数首先返回 false。我们创建了 EmailAddressAttribute 类的新实例,并将 email 作为参数传递给 EmailAddressAttribute 类的 IsValid() 函数。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Csharp String