
FILTER_VALIDATE_EMAIL 필터는 이메일 주소의 유효성을 검사하는 데 사용됩니다. 그러나 필터가 제대로 동작하지 않는 경우가 있습니다.
이러한 문제의 원인은 FILTER_VALIDATE_EMAIL 필터가 이메일 주소의 유효성을 검사할 때, 특정 문자열을 제외하고는 잘 동작하는 것을 확인하였습니다. 그러나 특정 문자열만 입력할 경우, 필터가 제대로 동작하지 않습니다.
예를 들어, 다음 코드를 실행했을 때, 필터가 제대로 동작하지 않는 이유는 이메일 주소에 '@' 기호가 없기 때문입니다.
#hostingforum.kr
php
$array = array('email' => 'exampledomain.com');
$result = filter_var_array($array, FILTER_VALIDATE_EMAIL);
print_r($result);
이 경우, 결과는 다음과 같습니다.
#hostingforum.kr
php
Array
(
[email] =>
)
또한, 다음 코드를 실행했을 때, 필터가 제대로 동작하지 않는 이유는 이메일 주소에 '.' 기호가 두 번 연속으로 사용된 경우입니다.
#hostingforum.kr
php
$array = array('email' => 'example@domain.com@example');
$result = filter_var_array($array, FILTER_VALIDATE_EMAIL);
print_r($result);
이 경우, 결과는 다음과 같습니다.
#hostingforum.kr
php
Array
(
[email] =>
)
위의 두 가지 경우에서 필터가 제대로 동작하지 않는 이유는 이메일 주소의 유효성 검사 규칙을 위반한 때문입니다.
FILTER_VALIDATE_EMAIL 필터를 올바르게 사용하기 위한 방법은 다음과 같습니다.
1. 이메일 주소에 '@' 기호가 포함되어 있는지 확인합니다.
2. 이메일 주소에 '.' 기호가 두 번 연속으로 사용되지 않는지 확인합니다.
3. 이메일 주소의 유효성 검사 규칙을 확인합니다.
예를 들어, 다음 코드를 실행했을 때, 필터가 제대로 동작하는 이유는 이메일 주소에 '@' 기호가 포함되어 있고, '.' 기호가 두 번 연속으로 사용되지 않기 때문입니다.
#hostingforum.kr
php
$array = array('email' => 'example@domain.com');
$result = filter_var_array($array, FILTER_VALIDATE_EMAIL);
print_r($result);
이 경우, 결과는 다음과 같습니다.
#hostingforum.kr
php
Array
(
[email] => example@domain.com
)
2025-06-20 17:00