이메일 형식이 입력되었을 때 형식이 맞는지 검사한다.
$emails = array(
'aaa@bbb.com',
'abc',
'.com',
'@.com'
);
foreach ($emails as $email) {
echo "$email : ";
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
echo "<br />";
}
위 코드를 valid_email.php 파일에 저장하고 브라우저에서 결과를 확인한다.
aaa@bbb.com : string(11) "aaa@bbb.com"
abc : bool(false)
.com : bool(false)
@.com : bool(false)
filter_var($email, FILTER_VALIDATE_EMAIL) 는 이메일이면 입력 이메일을, 이메일 형식이 맞지 않으면 false 를 리턴한다.
filter_var 함수는 파라미터로 도메인인지 검사하는 FILTER_VALIDATE_DOMAIN 이나, IP를 검사하는 FILTER_VALIDATE_IP, URL 형식을 검사하는 FILTER_VAR_URL 등을 지원한다. 중요 상수는 아래에서 확인할 수 있다.
상수의미
FILTER_VALIDATE_DOMAIN | 도메인 형식인지 검사한다. |
FILTER_VALIDATE_EMAIL | 이메일 형식인지 검사한다. |
FILTER_VALIDATE_FLOAT | 실수형인지 검사한다. |
FILTER_VALIDATE_INT | 정수형인지 검사한다. |
FILTER_VALIDATE_IP | IPV4 혹은 IPV6 형식인지 검사한다. |
FILTER_VALIDATE_MAC | 맥 어드레스 형식인지 검사한다. |
FILTER_VALIDATE_REGEXP | 올바른 유효성 검사 형식인지 검사한다. |
FILTER_VALIDATE_URL | URL 형식인지 검사한다. |
전체 필터의 목록은 https://www.php.net/manual/en/filter.filters.validate.php 에서 확인 가능하다.