PHP에서 이메일 확인

Subodh Poudel 2023년1월30일
  1. filter_var()함수 및FILTER_VALIDATE_EMAIL을 사용하여 PHP에서 이메일 유효성 검사
  2. FILTER_VALIDATE_EMAIL,FILTER_SANITIZE_EMAILfilter_var()함수를 사용하여 PHP에서 이메일 유효성 검사
  3. preg_match()함수를 사용하여 정규식에 따라 이메일 유효성 검사
PHP에서 이메일 확인

filter_var()함수와FILTER_VALIDATE_EMAIL필터 이름 ID를 사용하여 PHP에서 이메일 주소의 유효성을 검사하는 방법을 소개합니다. filter_var()함수는 이메일을 첫 번째 인수로 사용하고 필터 이름FILTER_VALIDATE_EMAIL을 사용하여 RFC 822의 구문에 대해 이메일의 유효성을 검증합니다.이 메소드는 유효한 이메일 대신 유효한 이메일 형식을 확인합니다.

또한fiter_var()함수와 함께FILTER_SANITIZE_EMAILFILTER_VALIDATE_EMAIL필터 이름 ID를 사용하여 PHP에서 이메일 주소를 확인하는 또 다른 방법을 보여줍니다. 이 방법은 먼저 이메일 주소를 삭제 한 다음 이메일 주소의 유효성을 검사합니다.

정규 표현식을 사용하여 PHP에서 이메일을 검증하는 또 다른 방법을 소개합니다. 이 메소드는preg_match()함수를 사용하여 제공된 정규식에 따라 이메일이 유효한지 확인합니다.

filter_var()함수 및FILTER_VALIDATE_EMAIL을 사용하여 PHP에서 이메일 유효성 검사

filter_var()함수를 사용하여 특정 필터 이름으로 변수를 필터링 할 수 있습니다. FILTER_VALIDATE_EMAIL필터 이름은 이메일을 확인해야 함을 지정합니다. 이 함수는 이메일 주소를 첫 번째 매개 변수로 문자열로, 위에서 지정한 필터 ID를 두 번째 매개 변수로 사용합니다. 따라서 제공된 이메일이 유효한지 확인할 수 있습니다. 함수가 성공하면 필터링 된 데이터를 반환하거나 false를 반환합니다. 이메일이 존재한다는 의미가 아니라 유효한 이메일입니다. 필터 ID는 RFC 822의 구문에 대해 이메일의 유효성을 검사합니다. 유효하고 잘못된 이메일을 사용하여 이메일 유효성 검사를 테스트 할 수 있습니다.

예를 들어,$email매개 변수를 사용하는validateEmail()함수를 작성하십시오. $email변수에filter_var()함수를 사용하고 필터 ID FILTER_VALIDATE_EMAIL을 두 번째 매개 변수로 지정합니다. filter_var()함수에if-else조건을 적용합니다. if블록에 이메일이 유효하다는 메시지를 표시하고else조건에서 이메일이 유효하지 않음을 표시합니다. 함수 외부에서 함수를 두 번 호출합니다. 첫 번째 함수 호출에서peter.piper@iana.orgfirst.last@example.123인수를 제공합니다.
두 번째 호출에서.

예제에 제공된 이메일 주소는$_POST변수를 사용하여 양식에서 액세스한다고 가정 할 수 있습니다. 아래 예제의 함수는 두 번 호출됩니다. 첫 번째 호출은 유효한 이메일 주소를 전달하고 두 번째 주소는 잘못된 이메일을 전달합니다. 두 번째 이메일 주소는 최상위 도메인의 숫자를 포함하므로 유효하지 않습니다. 결과는 분명합니다.

예제 코드 :

#php 7.x
<?php
function validateEmail($email) {
    if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
        echo "{$email}: A valid email"."<br>";
    }
    else {
        echo "{$email}: Not a valid email"."<br>";
    }
}
validateEmail('peter.piper@iana.org');
validateEmail('first.last@example.123');
?>

출력:

phppeter.piper@iana.org: A valid email 
first.last@example.123:Not a valid email

FILTER_VALIDATE_EMAIL,FILTER_SANITIZE_EMAILfilter_var()함수를 사용하여 PHP에서 이메일 유효성 검사

첫 번째 방법에서 추가FILTER_SANITIZE_EMAIL필터 이름 ID를 사용하여 이메일 주소에서 모든 잘못된 문자를 제거 할 수 있습니다. 필터 이름 id는filter_var()함수의 두 번째 인수입니다. 여기서 이메일 주소는 첫 번째 인수입니다. 이 함수는 삭제 된 이메일을 반환합니다. 이 기능을 다시 사용하여 삭제 후 이메일 주소의 유효성을 확인할 수 있습니다. 이를 위해FILTER_VALIDATE_EMAIL필터 이름 ID를 사용하는 첫 번째 방법을 따를 수 있습니다.

예를 들어$email변수를 만들고 잘못된 문자가 포함 된 이메일 주소를 저장합니다. 이메일ram(.mugu)@exa//mple.org를 변수에 문자열로 저장합니다. 변수에filter_var()함수를 사용하고FILTER_SANITIZE_EMAIL id를 두 번째 매개 변수로 사용합니다. 동일한$email변수에 함수를 저장합니다. 그런 다음 첫 번째 방법에서와 같이if-else 문을 적용합니다. 이번에는 함수의 필터 이름으로FILTER_VALIDATE_EMAIL 이메일을 사용합니다. 마찬가지로 메시지를 표시합니다.

아래 예제에서는 잘못된 문자가 포함 된 이메일 주소를 사용하고filter_var()함수는 해당 문자를 필터링하고 제공된 이메일을 삭제합니다. 예제에 제공된 이메일 주소에()//와 같은 잘못된 문자가 포함되어 있습니다. 이 함수는 먼저 이메일에서 이러한 문자를 제거한 다음 이메일의 유효성을 검사합니다.

예제 코드 :

#php 7.x
<?php
$email = "ram(.mugu)@exa//mple.org";
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "{$email}: A valid email"."<br>";
}
else{
    echo "{$email}:Not a valid email"."<br>";
}
?>

출력:

ram.mugu@example.org: A valid email

preg_match()함수를 사용하여 정규식에 따라 이메일 유효성 검사

preg_match()함수를 사용하여 PHP에서 이메일 주소를 확인할 수 있습니다. 이 방법은 이메일의 유효성 검사 규칙에 정규식을 사용합니다. 정규식을 직접 만들고 유효한 이메일에 대한 규칙을 정의 할 수 있습니다. preg_match()함수는 두 개의 매개 변수를 취합니다. 첫 번째 매개 변수는 정규식이고 두 번째 매개 변수는 확인할 이메일입니다. 삼항 연산자를 사용하여 함수와 함께 이메일의 유효성을 확인할 수 있습니다.

예를 들어,$email_first$email_secon이라는 두 개의 변수를 만들고 해당 변수에 두 개의 이메일 주소를 저장합니다. 먼저 유효한 이메일firstlast11@gmail.com을 저장하고 두 번째 이메일에는 유효하지 않은 이메일firstlast11@gmail.com을 저장합니다. 하나의 매개 변수를 취하는validateEmail()함수를 작성하십시오. 매개 변수 이름을$email로 지정합니다. 함수 내에서 예제 코드와 같이$regex변수에 정규식을 작성합니다. 그런 다음 확인할 조건이preg_match()함수 인 삼항 연산자를 작성합니다. $regex를 첫 번째 매개 변수로,$email을 두 번째 매개 변수로 사용하십시오. 조건이 참이면 이메일이 유효하다는 메시지를, 조건이 거짓이면 이메일이 유효하지 않다는 메시지를 인쇄합니다. 전체 삼항 표현을 에코합니다. 함수 외부에서validateEmail()함수를 두 번 호출합니다. 첫 번째 함수 호출에서$email_first변수를 사용하고 두 번째 함수 호출에서$email_second변수를 사용합니다.

아래 예에서는 이메일 유효성 검사를위한 규칙을 만드는 정규식을 작성했습니다. 유효한 이메일에는 수신자 이름,@기호, 도메인 및 최상위 도메인이 포함됩니다. 위에서 만든 정규식 표현식은받는 사람 이름을 영숫자 값으로 허용합니다. 알파벳은 대문자와 소문자로 구성됩니다. 마침표도받습니다. 이메일에는@기호가 있어야합니다. 도메인에는 알파벳 만 포함되어 있습니다. 이메일에는 마침표가 있어야합니다. 최상위 도메인은 알파벳으로 만 구성되어야하며 길이는 2 ~ 3 개 여야합니다. 정규식은이 규칙을 기반으로 생성됩니다. 첫 번째 이메일은 모든 규칙을 충족하므로 유효하지만 두 번째 이메일은 유효하지 않습니다. 도메인 이름에 숫자가 있고 최상위 도메인 앞에 마침표가 없기 때문에 유효하지 않습니다.

예제 코드 :

# php 7.x
<?php
$email_first = 'firstlast11@gmail.com';
$email_second ='firstlast@11gmail,com';
function validateEmail($email) {
    $regex = "/^([a-zA-Z0-9\.]+@+[a-zA-Z]+(\.)+[a-zA-Z]{2,3})$/";
    echo preg_match($regex, $email) ? "The email is valid"."<br>" :"The email is       not valid";
}
validateEmail($email_first);
validateEmail($email_second);
?>

출력:

The email is valid 
The email is not valid
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn