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

Muhammad Maisam Abbas 2024年2月16日
  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() 函数。

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