Rumah  >  Artikel  >  pengaturcaraan harian  >  PHP怎么验证邮箱格式是否正确?(图文+视频)

PHP怎么验证邮箱格式是否正确?(图文+视频)

藏色散人
藏色散人asal
2018-09-26 14:09:319866semak imbas

本篇文章主要给大家介绍PHP验证邮箱格式的两种实现方法。

在网站开发过程中,有的网站可能需要实现用户注册功能。那么用户注册可以是手机号码或者邮箱,而通过邮箱注册往往会需要对邮箱格式进行检查验证,防止网站被恶意注册。

下面我们就通过简单的代码实例为大家介绍两种PHP判断邮箱格式的两种方法。

方法一:通过eregi 函数

eregi :不区分大小写的正则表达式匹配。

<?php
function validateEmail($email)
{
    // eregi 从PHP5往后去就被废弃了
    if (@eregi(&#39;^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$&#39;, $email)) {
        return true;
    } else {
        return false;
    }
}

这里我们定义了一个validateEmail方法,通过eregi匹配第一个参数和第二个参数是否相同,以此来判断邮箱格式是否正确。

eregi()中的第一个参数表示定义的邮箱正则表达式,第二个参数则是我们输入的字符串也就是邮箱。

我们可以调用这个方法,输入如下内容进行测试:

var_dump(validateEmail(&#39;244&#39;));

浏览器访问结果如下:

3fa31e7fc04f11ce3b217aa9ce05ebf.png

如图返回值为false,说明邮箱格式不正确。

再输入如下内容测试:

var_dump(validateEmail(&#39;244@qq.com&#39;));

结果为:

29d8a399551adc7680d3a61fc427ce2.png

如图返回值为true,则表示是正确的邮箱格式。

注意:eregi只能在PHP4,PHP5下使用。

方法二:通过preg_match函数

preg_match :执行匹配正则表达式

<?php
function checkEmail($email)
{
    $pregEmail = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";
    return preg_match($pregEmail, $email);
}

同样,用preg_match函数匹配两个参数,来判断邮箱格式是否正确。

这里我们也可以测试下:

var_dump(checkEmail(&#39;244@qq.com&#39;));

结果如下:

c92c2e0aa05e4c856742b234a195a13.png

如图,当我们输入正确的邮箱格式时,返回值为1;

var_dump(checkEmail(&#39;244&#39;));

当邮箱格式不匹配时,此时返回值为0,如下图:

62b0c8f6edae2e1952f8b7fffb48bfd.png

注意:preg_match可以在PHP 4, PHP 5, PHP 7下使用。

本篇文章就是关于PHP验证邮箱格式的两种方法介绍,其中涉及到的正则表达式方面的知识,大家可以参考PHP中文网正则表达式手册

想要了解更多PHP知识,也可以关注PHP中文网PHP视频教程,欢迎大家来学习参考!

Atas ialah kandungan terperinci PHP怎么验证邮箱格式是否正确?(图文+视频). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn