驗證 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