首頁 >每日程式設計 >PHP知識 >PHP怎麼驗證信箱格式是否正確? (圖文+影片)

PHP怎麼驗證信箱格式是否正確? (圖文+影片)

藏色散人
藏色散人原創
2018-09-26 14:09:319895瀏覽

本篇文章主要介紹給大家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;));

瀏覽器存取結果如下:

PHP怎麼驗證信箱格式是否正確? (圖文+影片)

如圖表傳回值為false,說明郵箱格式不正確。

再輸入以下內容測試:

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

結果為:

PHP怎麼驗證信箱格式是否正確? (圖文+影片)

#如圖傳回值為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;));

結果如下:

PHP怎麼驗證信箱格式是否正確? (圖文+影片)

##如圖,當我們輸入正確的郵箱格式時,傳回值為1;

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

當郵件信箱格式不符時,此時傳回值為0,如下圖:

PHP怎麼驗證信箱格式是否正確? (圖文+影片)

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

本篇文章就是關於PHP驗證信箱格式的兩種方法介紹,其中涉及到的正規表示式方面的知識,大家可以參考PHP中文網

正規表示式手冊

想要了解更多PHP知識,也可以追蹤PHP中文網

PHP影片教學,歡迎大家來學習參考!

以上是PHP怎麼驗證信箱格式是否正確? (圖文+影片)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn