Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะตรวจสอบที่อยู่อีเมลใน C # ได้อย่างไร


มีหลายวิธีในการตรวจสอบที่อยู่อีเมลใน C#

System.Net.Mail −เนมสเปซ System.Net.Mail มีคลาสที่ใช้ในการส่งจดหมายอิเล็กทรอนิกส์ไปยังเซิร์ฟเวอร์ Simple Mail Transfer Protocol (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})(\]?)$"

เราสามารถใช้ MailAddress คลาสของเนมสเปซ System.Net.Mail เพื่อตรวจสอบที่อยู่อีเมล

ตัวอย่าง

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