Backend/php

[PHP] filter_var() 유효성 검사 함수 - 이메일, URL, IP

민57 2020. 3. 20. 17:20

 

지난 포스팅에서 preg_match() 함수를 이용해서 정규표현식의 유효성을 검사했었다.

하지만 filter_var() 함수를 이용하면 더욱 간단하게 유효성 검사를 구현할 수 있다.

 

 

이메일주소 유효성 검사

구성은 다음과 같다. 이 함수의 두 번째 아규먼트 값에 따라 검사할 유형이 달라지는 방식이다.

두 번째 아규먼트 값은 이미 선언된 상수 값이기에 따로 선언할 필요는 없다.

구성
filter_var('검사할 값', FILTER_VALIDATE_EMAIL);

 

해당 이메일 값이 올바르다면 true를, 올바르지 않다면 false를 리턴한다.

 

 

<?php 
    $email_1 = "youngdev57@gmail.com";
    $email_2 = "youngdev57@gmailcom"; 

    if(filter_var($email_1, FILTER_VALIDATE_EMAIL)) echo "{$email_1}은 올바른 이메일 주소입니다.";
    else echo "<br> {$email_1}은 올바르지 않은 이메일 주소입니다."; 

    if(filter_var($email_2, FILTER_VALIDATE_EMAIL)) echo "{$email_2}은 올바른 이메일 주소입니다.";
    else echo "<br> {$email_2}은 올바르지 않은 이메일 주소입니다."; 
    
?>

 

Result

youngdev57@gmail.com은 올바른 이메일 주소입니다.
youngdev57@gmailcom은 올바르지 않은 이메일 주소입니다.

 

 


 

 

여러 가지 값 유효성 검사하기

아래에 있는 여러 가지 유효성 검사 역시 두 번째 아규먼트 값만 구분하면 된다.

기본 구성
filter_var('검사할 값', 두 번째 아규먼트)
URL IP 정수 실수
FILTER_VALIDATE_URL FILTER_VALIDATE_IP FILTER_VALIDATE_INT FILTER_VALIDATE_FLOAT

 

728x90