国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php判斷郵箱地址是否存在的方法

2020-03-22 20:25:38
字體:
供稿:網(wǎng)友
PHP校驗(yàn)郵箱地址的方法很多, 比較常用的就是自己寫正則了, 不過正則多麻煩, 我PHP自帶了方法做校驗(yàn)。filter_varfilter_var是PHP內(nèi)置的一個(gè)變量過濾的方法, 提供了很多實(shí)用的過濾器, 可以用來校驗(yàn)整數(shù)、浮點(diǎn)數(shù)、郵箱、URL、MAC地址等。具體的過濾器參考: filters.validatefilter_var如果返回false, 說明變量無法通過過濾器, 也就是不合法了。$email = "lastchiliarch@163.com";var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
對(duì)于asb這種非法郵箱格式返回了false, 但對(duì)于1@a.com則通過了,還是略有瑕疵啊。不過一般的正則也通過會(huì)認(rèn)為1@a.com是一個(gè)合法的郵箱, 那有啥辦法可以更精準(zhǔn)的驗(yàn)證呢?checkdnsrrcheckdnsrr其實(shí)是用來查詢指定的主機(jī)的DNS記錄的,我們可以借用它來驗(yàn)證郵箱是否存在。對(duì)于1@a.com肯定是MX記錄不存在的。$email = "lastchiliarch@163.com"; var_dump(checkdnsrr(array_pop(explode("@",$email)),"MX")); $email = "1@a.com"; var_dump(checkdnsrr(array_pop(explode("@",$email)),"MX")); bool(true) bool(false)可以看到, 很完美, 唯一的缺點(diǎn)就是太慢了, 畢竟是要做一次網(wǎng)絡(luò)請(qǐng)求。 所以不適合同步對(duì)大量的郵箱采用這種做法去校驗(yàn)。filter_var+checkdnsrr我們可以接合filter_var 和checkdnsrr做校驗(yàn), 對(duì)于絕大多數(shù)的非法郵箱肯定會(huì)在filter_var的時(shí)候就掛掉了, 剩下的再用checkdnsrr進(jìn)一步判斷。$email_arr = array("lastchiliarch@163.com", "1@a.com"); foreach($email_arr as $email) { if (filter_var($email) === false) { echo "invalid email: $email /n"; continue; if(checkdnsrr(array_pop(explode("@",$email)),"MX") === false) { echo "invalid email: $email /n"; continue; 輸出: invalid email: 1@a.com但要注意的是, 由于只是檢查MX記錄, 所以只能判斷163.com是存在的, 但不能說明lastchiliarch這個(gè)用戶是存在的。想要更精確的判斷郵箱存在, 那只能連接到smtp服務(wù)器去驗(yàn)證了。下面為大家分享的php郵箱地址html' target='_blank'>正則表達(dá)式驗(yàn)證,具體內(nèi)容如下 header ( "Content-Type: text/html; charset=UTF-8" ); $reply = ""; if ( isset($_POST["email_address"]) ) $email_address = $_POST["email_address"]; $pattern = "/^([0-9A-Za-z//-_//.]+)@([0-9a-z]+//.[a-z]{2,3}(//.[a-z]{2}) )$/i"; if ( preg_match( $pattern, $email_address ) ) $reply = "您輸入的電子郵件地址合法 br / br / $user_name = preg_replace( $pattern ,"$1", $email_address ); $domain_name = preg_replace( $pattern ,"$2", $email_address ); $reply .= "用戶名:".$user_name." br / $reply .= "域名:".$domain_name." br / /n/n"; else $reply = "您輸入的電子郵件地址不合法"; !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" lang="zh" xml:lang="zh" head title 電子郵件地址驗(yàn)證程序 /title /head body h1 電子郵件地址驗(yàn)證程序 /h1 form action="#" method="post" 請(qǐng)輸入電子郵件地址: input name="email_address" type="text" / br / input type="submit" value="驗(yàn)證電子郵件地址" / /form echo $reply; /body /html 希望大家喜歡這篇文章,對(duì)大家有所幫助。PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 偏关县| 新乐市| 哈密市| 海南省| 偏关县| 黔江区| 闽侯县| 平罗县| 曲麻莱县| 元江| 缙云县| 黑山县| 赤城县| 东宁县| 阜新| 德令哈市| 全椒县| 兴义市| 通辽市| 光泽县| 昭通市| 洪洞县| 称多县| 和田市| 墨竹工卡县| 加查县| 青岛市| 民县| 仙居县| 班玛县| 城步| 灌阳县| 万年县| 榆树市| 尼玛县| 友谊县| 梁山县| 汝南县| 临夏市| 桃园县| 台中县|