Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Validate email address trong C#

Có vài cách validate email address trong C#.

  • System.Net.Mail - Namespace chứa classes gửi email qua SMTP server.
  • System.Text.RegularExpressions - Biểu diễn regular expression 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\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"

Cách 1: Dùng MailAddress class (System.Net.Mail)

using System;
using System.Net.Mail;

namespace DemoApplication
{
    class Program
    {
        public static void Main()
        {
            try
            {
                string email = "hello@xyzcom";
                Console.WriteLine($"Email: {email}");
                var mail = new MailAddress(email);
                bool isValidEmail = mail.Host.Contains(".");
                if (!isValidEmail)
                {
                    Console.WriteLine("Email không hợp lệ");
                }
                else
                {
                    Console.WriteLine("Email hợp lệ");
                }
                Console.ReadLine();
            }
            catch (Exception)
            {
                Console.WriteLine("Email không hợp lệ");
                Console.ReadLine();
            }
        }
    }
}

Kết quả

Email: hello@xyzcom
Email không hợp lệ

Cách 2: Dùng 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($"Email: {email}");
            bool isValidEmail = regex.IsMatch(email);
            if (!isValidEmail)
            {
                Console.WriteLine("Email không hợp lệ");
            }
            else
            {
                Console.WriteLine("Email hợp lệ");
            }
            Console.ReadLine();
        }
    }
}

Kết quả

Email: hello@xyz.com
Email hợp lệ