验证 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
。如果 email
为 null
,validateEmail()
函数首先返回 false。我们创建了 EmailAddressAttribute
类的新实例,并将 email
作为参数传递给 EmailAddressAttribute
类的 IsValid()
函数。
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