Terdapat pelbagai cara untuk mengesahkan alamat e-mel dalam C#.
System.Net.Mail - Ruang nama System.Net.Mail mengandungi kelas untuk menghantar e-mel ke pelayan Simple Mail Transfer Protocol (SMTP) untuk penghantaran.
System.Teks.RegularExpressions - Mewakili ungkapan biasa yang tidak berubah.
Menggunakan ungkapan berikut
@"^([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})(\]?)$"
Kami boleh mengesahkan alamat e-mel menggunakan kelas MailAddress ruang nama System.Net.Mail
Demonstrasi Langsung
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
Contoh penggunaan ungkapan biasa -
Kami juga boleh menggunakan ungkapan biasa untuk mengesahkan alamat e-mel.
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(); } } }
Keluaran kod di atas ialah
The email is hello@xyz.com The email is valid
Atas ialah kandungan terperinci Bagaimana untuk mengesahkan alamat e-mel dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!