C#에서 이메일 주소 유효성 검사

Muhammad Maisam Abbas 2024년2월16일
  1. C#에서MailAddress클래스를 사용하여 이메일 주소 유효성 검사
  2. C#에서EmailAddressAttribute클래스를 사용하여 이메일 주소 유효성 검사
C#에서 이메일 주소 유효성 검사

이 자습서에서는 C#에서 전자 메일 주소의 유효성을 검사하는 방법에 대해 설명합니다.

C#에서MailAddress클래스를 사용하여 이메일 주소 유효성 검사

형식 검사에 대해 이야기 할 때 가장 먼저 떠오르는 것은 정규 표현식입니다. 그러나 정규식은 비교적 복잡하고 정규식을 배우려면 많은 시간이 필요합니다. 정규식을 이미 알고 있다면 이것이 최선의 방법입니다. 이 자습서에서는 사용자 정의 접근 방식 대신 미리 정의 된 몇 가지 방법을 사용하여 C#에서 전자 메일 주소의 유효성을 검사합니다. MailAddress클래스는 C#에서 이메일 주소를 나타내는 데 사용됩니다. MailAddress클래스의 생성자는 문자열을 가져 와서 이메일 주소로 형식화합니다. MailAddress클래스를 사용하여 주어진 이메일 주소가 유효한지 여부를 결정할 수 있습니다. 다음 코드 예제는 C#의MailAddress클래스를 사용하여 이메일 주소의 유효성을 검사하는 방법을 보여줍니다.

using System;

namespace email_validation {
  class Program {
    static bool IsValidEmail(string email) {
      try {
        var addr = new System.Net.Mail.MailAddress(email);
        return addr.Address == email;
      } catch {
        return false;
      }
    }
    static void Main(string[] args) {
      bool isOk = IsValidEmail("mma @gma.com");
      Console.WriteLine(isOk);
    }
  }
}

출력:

false

이메일 주소를 문자열로 취하고 이메일이 유효하면true를, 이메일이유효하지 않은 경우를 반환하는 함수IsValidEmail(email)을 정의했습니다. System.Net.Mail네임 스페이스 내에서MailAddress클래스의 생성자를 사용하여MailAddress클래스의 새 인스턴스를 만들었습니다. 그런 다음MailAddress클래스의 Address속성을 이메일 주소와 비교했습니다. 주소가 이메일과 일치하면 이메일은유효입니다. 주소가 이메일과 일치하지 않거나 프로세스 중에 예외가 발생하면 이메일이유효하지 않음입니다.

C#에서EmailAddressAttribute클래스를 사용하여 이메일 주소 유효성 검사

EmailAddressAttribute클래스는 C#에서 이메일 주소의 유효성을 검사하는 데 사용됩니다. EmailAddressAttribute클래스의IsValid(email)함수는email이 유효하면true를 반환하고email이 유효하지 않으면 null을 반환하고false를 반환합니다. 다음 코드 예제는 C#의EmailAddressAttribute클래스를 사용하여 이메일 주소가 유효한지 유효하지 않은지 확인하는 방법을 보여줍니다.

using System;
using System.ComponentModel.DataAnnotations;

namespace email_validation {
  class Program {
    static bool validateEmail(string email) {
      if (email == null) {
        return false;
      }
      if (new EmailAddressAttribute().IsValid(email)) {
        return true;
      } else {
        return false;
      }
    }
    static void Main(string[] args) {
      bool isOk = validateEmail("mma@gma.com");
      Console.WriteLine(isOk);
    }
  }
}

출력:

true

이메일 주소를 문자열 매개 변수로 사용하고 이메일이 유효하면true를 반환하고 유효하지 않으면false를 반환하는 함수validateEmail()을 만들었습니다. validateEmail()함수는emailnull인 경우 먼저 false를 반환합니다. EmailAddressAttribute클래스의 새 인스턴스를 만들고EmailAddressAttribute클래스의IsValid()함수에 매개 변수로email을 전달했습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Csharp String