>source

아래에는 email@gmail.com과 같은 이메일 주소를 입력 할 때 유효한 것으로 표시되는 코드 스 니펫이 있습니다.

그러나 email@students.school.edu와 같은 이메일 주소를 입력하면 유효하지 않다고 표시됩니다. 마침표가 두 개인 내 학교 이메일 주소로 시도했는데 유효하지 않다고했습니다.

아래와 같이 마침표가 1 개인 일반 이메일 주소와 마침표가 2 개인 이메일 주소를 정규식으로 검증하는 방법이 있습니까?

import re
email = input ("Type in an email address: ")
if re.match("\A(?P<name>[\w\-_]+)@(?P<domain>[\w\-_]+).(?P<toplevel>[\w]+)\Z",email,re.IGNORECASE):
    print("Email is valid")
else:
    print("Email is invalid")


  • 답변 # 1

    이메일에 python 정규식 표준을 사용할 수 있습니다.

    r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)
    
    

    출처 : https://emailregex.com/

    따라서 원본 스 니펫의 맥락에서 다음과 같습니다.

    import re
    email = input ("Type in an email address: ")
    if re.match(r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)", email):
        print("Email is valid")
    else:
        print("Email is invalid")
    
    

  • 답변 # 2

    import re
    email = input ("Type in an email address: ")
    if email!= "":
        mailValidation = bool(re.search("^[a-zA-Z0-9.]+@[a-zA-Z]+.[comrgin]", email))
        if mailValidation == True:
            print("Validate mail.")
        else:
            print("Please check mail.")
    
    

  • 답변 # 3

    mailcheck.co 또는 유사한 서비스와 같은 외부의 좀 더 정교한 솔루션을 통합하려고 할 수 있습니다. 요점은 공식적인 확인 이상의 것을 할 수 있다는 것입니다. 이메일 작동 여부, 사용자 실제 이름, 프로필 사진 등을 확인할 수 있습니다.

관련 자료

  • 이전 python - Braintree Django 예외 "str ("tuple "아님) 만 str에 연결할 수 있습니다"
  • 다음 java - jackson objectmapper - 직렬화에서 특정 유형의 필드를 생략 (무시)하는 방법은 무엇입니까?