如何在 C# 中驗證電子郵件地址?
有許多方法可以在 C# 中驗證電子郵件地址。
System.Net.Mail − System.Net.Mail 名稱空間包含用於將電子郵件傳送到簡單郵件傳輸協議 (SMTP) 伺服器以進行傳遞的類。
System.Text.RegularExpressions − 表示不可變的正則表示式。
使用以下表達式
@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([azA-Z]{2,4}|[0-9]{1,3})(\]?)$"我們可以使用 System.Net.Mail 名稱空間的MailAddress 類來驗證電子郵件地址
示例
using System;
using System.Net.Mail;
namespace DemoApplication{
class Program{
public static void Main(){
try{
string email = "hello@xyzcom";
Console.WriteLine($"The email is {email}");
var mail = new MailAddress(email);
bool isValidEmail = mail.Host.Contains(".");
if(!isValidEmail){
Console.WriteLine($"The email is invalid");
} else {
Console.WriteLine($"The email is valid");
}
Console.ReadLine();
}
catch(Exception){
Console.WriteLine($"The email is invalid");
Console.ReadLine();
}
}
}
}輸出
上述程式碼的輸出為
The email is hello@xyzcom The email is invalid
使用 Regex 的示例 −
我們還可以使用正則表示式來驗證電子郵件地址。
示例
using System;
using System.Text.RegularExpressions;
namespace DemoApplication{
public class Program{
public static void Main(){
string email = "hello@xyz.com";
Regex regex = new Regex(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-
9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$",
RegexOptions.CultureInvariant | RegexOptions.Singleline);
Console.WriteLine($"The email is {email}");
bool isValidEmail = regex.IsMatch(email);
if (!isValidEmail){
Console.WriteLine($"The email is invalid");
} else {
Console.WriteLine($"The email is valid");
}
Console.ReadLine();
}
}
}輸出
上述程式碼的輸出為
The email is hello@xyz.com The email is valid
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP