Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 이메일 주소의 유효성을 검사하는 방법은 무엇입니까?

<시간/>

C#에서 이메일 주소를 확인하는 방법에는 여러 가지가 있습니다.

System.Net.Mail −System.Net.Mail 네임스페이스에는 배달을 위해 SMTP(Simple Mail Transfer Protocol) 서버로 전자 메일을 보내는 데 사용되는 클래스가 포함되어 있습니다.

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

정규식 사용 예 -

정규 표현식을 사용하여 이메일 주소를 확인할 수도 있습니다.

예시

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