>백엔드 개발 >PHP 튜토리얼 >PHP에서 이메일 확인

PHP에서 이메일 확인

WBOY
WBOY앞으로
2024-02-28 10:31:16494검색

PHP에서 이메일 유효성을 검사하는 것은 웹사이트 개발의 일반적인 요구 사항 중 하나입니다. 효과적인 이메일 검증은 사용자 입력의 정확성을 높이고 악성 등록 및 정보 유출을 방지합니다. 이 기사에서는 사용자가 입력한 이메일 형식이 사양을 준수하는지 확인하기 위해 PHP를 사용하여 간단하고 효과적인 이메일 확인 코드를 작성하는 방법을 소개합니다. 이 문서의 지침을 통해 이메일 확인 기능을 쉽게 구현하고 웹사이트의 사용자 경험과 보안을 향상시킬 수 있습니다. PHP 편집자 Apple은 이메일 확인 방법을 자세히 설명하므로 쉽게 기술을 익힐 수 있습니다.

또한 FILTER_SANITIZE_EMAILFILTER_VALIDATE_EMAIL 过滤器名称 ID 以及 fiter_var() 기능을 사용하여 php에서 이메일 주소를 확인하는 또 다른 방법을 보여드리겠습니다. 이 방법은 먼저 이메일 주소를 정리한 다음 이메일 주소를 확인합니다.

정규 표현식을 사용하여 PHP에서 이메일을 검증하는 또 다른 방법을 다루겠습니다. 이 방법은 preg_match() 함수를 사용하여 제공된 정규식을 기반으로 이메일이 유효한지 확인합니다.


filter_var() 函数和 FILTER_VALIDATE_EMAIL PHP에서 확인 이메일 사용하기

filter_var() 函数来过滤具有特定过滤器名称的变量。FILTER_VALIDATE_EMAIL 필터 이름을 사용하여 이메일을 확인해야 함을 지정할 수 있습니다. 이 함수는 이메일 주소를 String의 첫 번째 매개변수로, 위에서 지정한 필터 ID를 두 번째 매개변수로 사용합니다. 그러면 제공된 이메일이 유효한지 확인할 수 있습니다. 함수가 성공하거나 false를 반환하면 함수는 필터링된 데이터를 반환합니다. 이메일은 유효하지만 이메일이 존재하는 것은 아닙니다. 필터 ID는 RFC 822의 구문을 기반으로 이메일의 유효성을 검사합니다. 유효한 이메일과 유효하지 않은 이메일을 사용하여 이메일을 테스트확인할 수 있습니다.

예를 들어 함수를 만들어 보세요 validateEmail(),它接受一个参数 $email。对 $email 变量使用 filter_var() 函数,并指定过滤器 ID FILTER_VALIDATE_EMAIL 作为第二个参数。对 filter_var() 函数应用 if-else 条件。在 if 块中,显示消息说电子邮件有效,在 else 条件下,显示该电子邮件无效。在函数外,调用该函数两次。在第一个函数调用中提供参数,peter.piper@iana.orgfirst.last@example.123
두 번째 통화에서.

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

샘플 코드:

으아악

출력:

으아악

PHP의 FILTER_VALIDATE_EMAILFILTER_SANITIZE_EMAILfilter_var() 기능을 사용하여 이메일을 확인하세요

첫 번째 접근 방식에서 추가 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 email을 만듭니다. 마찬가지로 메시지가 표시됩니다.

아래 예에서는 불법 문자 filter_var() 函数过滤这些字符并清理所提供的电子邮件。示例中提供的电子邮件地址包含非法字符,例如 ()//가 포함된 이메일 주소를 사용합니다. 이 함수는 먼저 이메일에서 이러한 문자를 제거한 다음 이메일의 유효성을 검사합니다.

샘플 코드:

으아악

출력:

<code>
<code class="language-php hljs" data-lang="php"><span style="display:flex;"><span>ram<span style="color:#666">.</span>mugu<span style="color:#666">@</span>example<span style="color:#666">.</span>org<span style="color:#666">:</span> A valid email
</span></span></code></code>

使用 preg_match() 函数根据正则表达式验证电子邮件

我们可以使用 preg_match() 函数来验证 PHP 中的电子邮件地址。此方法使用正则表达式作为电子邮件的验证规则。我们可以自己创建正则表达式并定义有效电子邮件的规则。preg_match() 函数接受两个参数,其中第一个是正则表达式,第二个是要检查的电子邮件。我们可以使用三元运算符和函数一起检查电子邮件的有效性。

例如,创建两个变量 $email_first$email_secon,并在这些变量中存储两个电子邮件地址。首先存储有效的电子邮件 firstlast11@gmail.com,然后存储无效的电子邮件 firstlast@11gmail,com。编写一个带有一个参数的函数 validateEmail()。命名参数 $email。在函数内部,在 $regex 变量中编写一个正则表达式,如示例代码所示。然后编写一个三元运算符,其中要检查的条件是 preg_match() 函数。将 $regex 作为第一个参数,将 $email 作为第二个参数。当条件为真时打印电子邮件有效的消息,当条件为假时打印电子邮件无效的消息。回显整个三元表达式。在函数外,调用 validateEmail() 函数两次。在第一个函数调用中使用 $email_first 变量,在第二个函数调用中使用 $email_second 变量。

在下面的示例中,我们编写了一个正则表达式,用于创建验证电子邮件的规则。有效的电子邮件包含收件人姓名、@ 符号、域和顶级域。上面创建的正则表达式接受收件人姓名作为字母数字值。字母表由大写字母和小写字母组成。它也接受一个句点。电子邮件必须有 @ 符号。该域仅包含字母。然后电子邮件应该有一个句点。顶级域应该只由字母组成,并且长度应该是两个或三个。正则表达式是基于此规则创建的。第一封电子邮件是有效的,因为它满足所有规则,但第二封电子邮件无效。无效,因为域名中有数字,顶级域名前没有句号。

示例代码:

<code>
<code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#408080;font-style:italic"># php 7.x
</span></span></span><span style="display:flex;"><span><span style="color:#666"><?</span>php
</span></span><span style="display:flex;"><span><span style="color:#19177c">$email_first</span> <span style="color:#666">=</span> <span style="color:#ba2121">&#39;firstlast11@gmail.com&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#19177c">$email_second</span> <span style="color:#666">=</span><span style="color:#ba2121">&#39;firstlast@11gmail,com&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">function</span> <span style="color:#00f">validateEmail</span>(<span style="color:#19177c">$email</span>) {
</span></span><span style="display:flex;"><span><span style="color:#19177c">$regex</span> <span style="color:#666">=</span> <span style="color:#ba2121">"/^([a-zA-Z0-9\.]+@+[a-zA-Z]+(\.)+[a-zA-Z]{2,3})$/"</span>;
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> preg_match(<span style="color:#19177c">$regex</span>, <span style="color:#19177c">$email</span>) <span style="color:#666">?</span> <span style="color:#ba2121">"The email is valid"</span><span style="color:#666">.</span><span style="color:#ba2121">"<br>"</span> <span style="color:#666">:</span><span style="color:#ba2121">"The email is not valid"</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>validateEmail(<span style="color:#19177c">$email_first</span>);
</span></span><span style="display:flex;"><span>validateEmail(<span style="color:#19177c">$email_second</span>);
</span></span><span style="display:flex;"><span><span style="color:#bc7a00">?></span><span >
</span></span></span></code></code>

输出:

<code>
<code class="language-text hljs" data-lang="text"><span style="display:flex;"><span>The email is valid 
</span></span><span style="display:flex;"><span>The email is not valid
</span></span></code></code>

위 내용은 PHP에서 이메일 확인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lsjlt.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
이전 기사:PHP의 참과 거짓다음 기사:PHP의 참과 거짓