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

Muhammad Maisam Abbas 2023年1月30日 2021年4月29日
  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