Có một số cách để xác thực địa chỉ email trong C #.
System.Net.Mail −Không gian tên System.Net.Mail chứa các lớp được sử dụng để gửi thư điện tử đến máy chủ Giao thức truyền thư đơn giản (SMTP) để gửi.
System.Text.RegularExpressions - Đại diện cho một biểu thức chính quy bất biến.
Sử dụng biểu thức dưới đây
@"^([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})(\]?)$"
Chúng tôi có thể sử dụng Địa chỉ thư lớp của không gian tên System.Net.Mail để xác thực địa chỉ email
Ví dụ
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(); } } } }
Đầu ra
Đầu ra của đoạn mã trên là
The email is hello@xyzcom The email is invalid
Ví dụ sử dụng Regex -
Chúng tôi cũng có thể sử dụng biểu thức chính quy để xác thực địa chỉ email.
Ví dụ
using System; using System.Text.RegularExpressions; namespace DemoApplication{ public class Program{ public static void Main(){ string email = "[email protected]"; 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(); } } }
Đầu ra
Đầu ra của đoạn mã trên là
The email is [email protected] The email is valid