이메일 검증의 정규식 함정
정규식을 사용하여 이메일 주소를 검증하는 것은 까다로운 작업일 수 있으며, 특히 하위 도메인 주소의 경우 더욱 그렇습니다. 이 문제를 해결하기 위해 정규 표현식에만 의존할 때의 한계를 살펴보겠습니다.
정규 표현식 유효성 검사의 한계
이메일 주소의 구문 정확성(예: 현재 상태)을 검증하는 동안 @ 및 .), 정규식은 오타를 설명하고 주소가 실제로 존재하는지 확인하지 못합니다. 이러한 문제를 해결하려면 보다 광범위한 검사가 필요합니다. 즉,
간단한 확인을 권장합니다
정규식 유효성 검사의 한계를 고려하여 기본 확인은 일반적인 사용자 오류를 식별하는 것만으로도 충분한 경우가 많습니다.
[^@]+@[^@]+\.[^@]+
이 정규식은 정확히 하나의 @가 있는지 확인합니다. 기호와 하나 이상의 . @.
코드에서 정규 표현식 사용
위 정규식을 코드에 통합하려면 Python에서 re 모듈을 활용하세요.
import re if not re.match(r"[^@]+@[^@]+\.[^@]+", email): # Handle invalid email address
문자가 두 번 이스케이프되는 것을 방지하기 위해 r 접두사가 붙은 Python의 원시 문자열 리터럴을 사용하는 것에 유의하세요. 복잡한 정규식의 경우 먼저 컴파일하는 것을 고려하세요.
EMAIL_REGEX = re.compile(r"[^@]+@[^@]+\.[^@]+") if not EMAIL_REGEX.match(email): # Handle invalid email address
위 내용은 정확한 이메일 검증에 Regex가 충분합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!