PHP에서 이메일 확인
-
filter_var()
함수 및FILTER_VALIDATE_EMAIL
을 사용하여 PHP에서 이메일 유효성 검사 -
FILTER_VALIDATE_EMAIL
,FILTER_SANITIZE_EMAIL
및filter_var()
함수를 사용하여 PHP에서 이메일 유효성 검사 -
preg_match()
함수를 사용하여 정규식에 따라 이메일 유효성 검사
filter_var()
함수와FILTER_VALIDATE_EMAIL
필터 이름 ID를 사용하여 PHP에서 이메일 주소의 유효성을 검사하는 방법을 소개합니다. filter_var()
함수는 이메일을 첫 번째 인수로 사용하고 필터 이름FILTER_VALIDATE_EMAIL
을 사용하여 RFC 822의 구문에 대해 이메일의 유효성을 검증합니다.이 메소드는 유효한 이메일 대신 유효한 이메일 형식을 확인합니다.
또한fiter_var()
함수와 함께FILTER_SANITIZE_EMAIL
및FILTER_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.org
및first.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_EMAIL
및filter_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 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