본문 바로가기
Dart/Study

Dart에서 이메일 주소 검증하기: 정규 표현식 사용법

by Maccrey Coding 2024. 8. 9.
반응형

 

Dart 언어를 활용하여 이메일 주소를 검증하는 방법을 소개합니다.

이메일 검증은 사용자 입력을 확인하고, 유효한 이메일 형식인지 확인하는 데 중요한 과정입니다.

Dart에서는 정규 표현식을 사용하여 이메일 주소의 형식을 검증할 수 있습니다.

정규 표현식 정의하기

이메일 주소의 일반적인 형식을 검증하기 위해 다음과 같은 정규 표현식을 사용할 수 있습니다.

final RegExp emailRegExp = RegExp(
  r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$',
  caseSensitive: false,
);

정규 표현식 설명

  • ^: 문자열의 시작을 나타냅니다.
  • [a-zA-Z0-9._%+-]+: 이메일 사용자 부분에서 허용되는 문자들입니다. 알파벳 대소문자, 숫자, 점(.), 언더스코어(_), 퍼센트 기호(%), 더하기 기호(+), 빼기 기호(-)를 포함합니다.
  • @: @ 기호는 필수이며, 사용자 부분과 도메인 부분을 구분합니다.
  • [a-zA-Z0-9.-]+: 이메일 도메인 부분에서 허용되는 문자들입니다. 알파벳 대소문자, 숫자, 점(.), 빼기 기호(-)를 포함합니다.
  • \.: 도메인과 최상위 도메인(TLD) 사이의 점(.)을 나타냅니다.
  • [a-zA-Z]{2,}: 최상위 도메인(TLD)의 길이는 최소 2자 이상이어야 합니다.
  • $: 문자열의 끝을 나타냅니다.

이메일 검증 코드 예제

다음은 Dart에서 정규 표현식을 사용하여 이메일 주소를 검증하는 코드 예제입니다.

void main() {
  String email1 = "example@example.com";
  String email2 = "invalid-email@.com";
  
  final RegExp emailRegExp = RegExp(
    r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$',
    caseSensitive: false,
  );
  
  bool isValidEmail1 = emailRegExp.hasMatch(email1);
  bool isValidEmail2 = emailRegExp.hasMatch(email2);
  
  print("Is '$email1' a valid email? $isValidEmail1");  // true
  print("Is '$email2' a valid email? $isValidEmail2");  // false
}

설명

  • RegExp 클래스를 사용하여 정규 표현식을 정의합니다.
  • hasMatch 메서드를 사용하여 주어진 문자열이 정규 표현식과 일치하는지 확인합니다.
  • caseSensitive: false를 설정하여 대소문자를 구분하지 않도록 합니다.

이 코드는 두 개의 이메일 주소를 검증합니다.

첫 번째 이메일 주소는 유효한 형식으로 간주되며, 두 번째 이메일 주소는 유효하지 않은 형식으로 간주됩니다.

이 예제를 통해 Dart에서 정규 표현식을 활용하여 이메일 주소를 검증하는 방법을 이해하고, 실전에서 유용하게 활용할 수 있을 것입니다.

 

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

 

반응형