728x90
안녕하세요,
오늘은 php에서 입력값을 검증하는 방법 중 하나인 filter_var() 함수에 대해 알아보겠습니다.
filter_var()
filter_var() 함수는 php에서 데이터 검증(Validation)에 사용되는 함수입니다.
filter_var() 함수 사용법
filter_var($variable, $filter, $options);
- $variable: 필터링할 값 (예: 변수나 문자열)
- $filter: 사용할 필터 (예: FILTER_VALIDATE_EMAIL, FILTER_SANITIZE_URL)
- $options (선택 사항): 필터에 대한 추가 옵션 (예: 정규 표현식, 플래그 등)
유효성 검증 (Validation)
유효성 검증은 데이터가 특정 형식에 맞는지 확인하는 작업입니다.
이때 사용되는 필터들은 "FILTER_VALIDATE_"로 시작하는 다양한 필터들입니다.
- 이메일 검증 (FILTER_VALIDATE_EMAIL) : 이메일이 올바른 형식인지 확인합니다.
$email1 = "example@domain.com";
$email2 = "exampledomain.com";
if (filter_var($email1, FILTER_VALIDATE_EMAIL)) {
echo "email1 은 올바른 이메일 주소입니다.";
} else {
echo "email1 은 잘못된 이메일 주소입니다.";
}
if (filter_var($email2, FILTER_VALIDATE_EMAIL)) {
echo "email2 는 올바른 이메일 주소입니다.";
} else {
echo "email2 는 잘못된 이메일 주소입니다.";
}
결과값
email1 은 올바른 이메일 주소입니다.email2 는 잘못된 이메일 주소입니다.
URL 검증 (FILTER_VALIDATE_URL) : URL이 올바른 형식인지 확인합니다.
$url1 = "https://www.example.com"; // 올바른 URL
$url2 = "htp//example"; // 잘못된 URL
// URL 검증
if (filter_var($url1, FILTER_VALIDATE_URL)) {
echo "url1 은 올바른 URL입니다.<br>";
} else {
echo "url1 은 잘못된 URL입니다.<br>";
}
if (filter_var($url2, FILTER_VALIDATE_URL)) {
echo "url2 는 올바른 URL입니다.<br>";
} else {
echo "url2 는 잘못된 URL입니다.<br>";
}
결과
url1 은 올바른 URL입니다.
url2 는 잘못된 URL입니다.
IP 주소 검증 (FILTER_VALIDATE_IP) : 주어진 IP 주소가 올바른지 확인합니다.
$ip1 = "192.168.1.1"; // 올바른 IP 주소
$ip2 = "999.999.999.999"; // 잘못된 IP 주소
if (filter_var($ip1, FILTER_VALIDATE_IP)) {
echo "ip1 은 올바른 IP 주소입니다.<br>";
} else {
echo "ip1 은 잘못된 IP 주소입니다.<br>";
}
if (filter_var($ip2, FILTER_VALIDATE_IP)) {
echo "ip2 는 올바른 IP 주소입니다.<br>";
} else {
echo "ip2 는 잘못된 IP 주소입니다.<br>";
}
결과
ip1 은 올바른 IP 주소입니다.
ip2 는 잘못된 IP 주소입니다.
정수 검증 (FILTER_VALIDATE_INT) : 값이 정수인지 확인합니다.
$int1 = "25"; // 올바른 정수
$int2 = "25.5"; // 잘못된 정수 (소수점 포함)
if (filter_var($int1, FILTER_VALIDATE_INT)) {
echo "int1 은 올바른 정수입니다.<br>";
} else {
echo "int1 은 잘못된 정수입니다.<br>";
}
if (filter_var($int2, FILTER_VALIDATE_INT)) {
echo "int2 는 올바른 정수입니다.<br>";
} else {
echo "int2 는 잘못된 정수입니다.<br>";
}
결과
int1 은 올바른 정수입니다.
int2 는 잘못된 정수입니다.
'PHP' 카테고리의 다른 글
[PHP] 입력값 검증 방법 (2) preg_match(), ctype 함수 (0) | 2025.03.23 |
---|---|
[PHP] PDO를 이용한 데이터베이스 트랜잭션 처리 (0) | 2024.07.31 |
[PHP]다른 파일 내용을 특정 php 파일에 포함하여 실행시키기 (0) | 2024.07.16 |
[PHP]shapefile 데이터 읽기 (0) | 2024.06.24 |
[PHP] `->` 연산자 사용법 (0) | 2024.06.20 |