반응형
연관글
2025.04.22 - [Programing/javascript] - javascript 이메일 유효성 검사
2019.01.05 - [Programing/PHP] - PHP 정규식 이메일 유효성 검사 글의 코드가 개선되었습니다.
2025.04.21 - [Programing/javascript] - 이메일 입력 필드를 위한 한글 및 공백 제거 jQuery 같이 보면 좋은 글
사용자가 입력하는 이메일 주소가 형식에 맞는지를 검사하는 기능은 대부분의 회원가입, 로그인, 문의폼 등에 필수적으로 포함됩니다. PHP에서도 정규표현식을 통해 이 기능을 간단하게 구현할 수 있습니다. 본 글에서는 PHP로 작성된 isValidEmail 함수의 동작 방식과 정규표현식의 의미를 정리합니다.
✨ 함수 설명
function isValidEmail($email) {
return preg_match('/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/', $email) === 1;
}
✨ 정규표현식 분석
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
- ^ : 문자열 시작
- [a-zA-Z0-9._%+-]+ : 사용자명 부분. 영문 대소문자, 숫자, 특수문자 일부 허용
- @ : 반드시 @ 포함
- [a-zA-Z0-9.-]+ : 도메인 이름. 하이픈과 점 포함 가능
- \. : 마지막 도메인을 위한 점(.) 문자
- [a-zA-Z]{2,} : 최상위 도메인(TLD)은 영문자 최소 2자리 이상 (com, net, kr 등)
- $ : 문자열 끝
✨ 사용 예시
isValidEmail("test@example.com"); // true
isValidEmail("user.name123@domain.co"); // true
isValidEmail("invalid_email@com"); // false (최상위 도메인 짧음)
isValidEmail("@example.com"); // false (사용자명 없음)
isValidEmail("test@.com"); // false (도메인 이름 없음)
✨ 활용 팁
- 이 정규식은 실용적인 형식을 기준으로 하며, 실제 이메일 표준(RFC 5322)을 100% 따르지는 않습니다.
- PHP의 filter_var($email, FILTER_VALIDATE_EMAIL)를 함께 사용하면 좀 더 안정적인 검증이 가능합니다.
- 프론트엔드에서도 동일한 정규표현식을 적용해 UX를 개선할 수 있습니다.
✨ 결론
PHP에서의 isValidEmail 함수는 이메일 주소의 일반적인 형식을 검증하기 위한 간결하고 효율적인 유틸리티입니다. 서버 단에서 사용자 입력을 빠르게 필터링하고, 백엔드의 보안 및 정확성을 높이는 데 도움을 줄 수 있습니다.
반응형
'Programing > PHP' 카테고리의 다른 글
php 비밀번호 유효성 검사 (1) | 2025.04.22 |
---|---|
🔐 PHP로 문자열 중간을 마스킹하는 함수 (1) | 2025.04.18 |
PHP SEED ECB 암/복호화 샘플코드 (0) | 2023.05.15 |
PHP 윤년(leap year)체크 (0) | 2019.06.26 |
PHP 배열 첫번째 키값 가지고 오기 (0) | 2019.01.07 |
PHP 정규식 비밀번호 유효성 검사 (0) | 2019.01.05 |
PHP 정규식 이메일 유효성 검사 (0) | 2019.01.05 |
숫자를 휴대폰번호 형태로 전환 (phone number format (0) | 2016.06.23 |