當前位置:首頁 » 編程語言 » php匹配郵箱

php匹配郵箱

發布時間: 2023-11-12 07:30:00

php驗證郵箱格式

PHP正則表達式驗證郵箱示例如下:
<?php
$email='[email protected]';
$pattern="/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";
if(preg_match($pattern,$email)){
echo '郵箱驗證通過!';
} else{
echo '郵箱格式錯誤!';
}
?>

㈡ PHP輸入郵箱,最後如何顯示郵箱的類型

通過正則匹配獲取到@後面的後綴。

然後就是根據寫好的字典進行選擇,比如qq. com 就是騰訊郵箱,如果是126.com 就是網易郵箱,如此類推。

㈢ 如何通過一個php程序給不同的郵箱發送不同的郵件

1.需要一個用來發送電子郵件的文件的程序,也就是一個php文件,流行的phpmail有很多,今天以smtp.php為例演示。
2.將其復制到你的項目文件內,具體路徑根據自己的實際情況,這里建了一個test文件,用來設置郵件參數,大家也可以自定義郵件參數文件。(PS:一般都是通過表單接受的)
3.smtp.php文件引入。
4.設置郵件參數,具體代碼如下:
//引入發送郵件類
require("smtp.php");
$smtpserver = "smtp.163.com";
$smtpserverport = 25;
//你的163伺服器郵箱賬號
$smtpusermail = "@163.com";
//收件人郵箱
$smtpemailto = "@qq.com";
//你的郵箱賬號(去掉@163.com)
$smtpuser = "";//SMTP伺服器的用戶帳號
//你的郵箱密碼
$smtppass = ""; //SMTP伺服器的用戶密碼
5.設置郵件內容,代碼如下:
//郵件主題
$mailsubject = "測試郵件發送";
//郵件內容
$mailbody = "PHP+MySQL";
//郵件格式(HTML/TXT),TXT為文本郵件
$mailtype = "TXT";
//這裡面的一個true是表示使用身份驗證,否則不使用身份驗證.
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);
//是否顯示發送的調試信息
$smtp->debug = TRUE;
//發送郵件
$smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);
刷新頁面後郵件發送,參數不出錯的話1分鍾左右即可發送成功。
至於發幾個人,如何發自己定義下就行

㈣ 在PHP裡面if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))表示是什麼意思

這是正則表達式,匹配的是郵箱的格式,用來判定你輸入的郵箱是否合法

㈤ 郵箱正則表達式+正則基本知識點

一般程序員的姿勢

正則表達式正確的運用姿勢

今天來搞幾個郵箱正則表達式,匹配多級域名,包括中文域名

從上圖可以得出,除去「.」號,域名既有英文(最多是6個字元),也有中文(最多是3個漢字)
而現在有很多影子郵箱/百變郵箱,是使用二級域名或者三級域名,所以,我們先列舉如下幾個郵箱,然後寫一個正則表達式,去匹配、判斷

不管是什麼郵箱,確定會有的字元是「@」和至少一個「.」(這里特指最後一個),那麼我們就以這兩個確定的符號為分界點,將每個郵箱拆分成3段,對每一段進行正則匹配,最終組成整個郵箱的正則匹配。當然進入下一步之前,先理一理基本知識點。

定義:一個正則可以匹配的字元串的長度不是固定的,使用量詞可以達到這種目的。

量詞:比如{m , n} :表示連續出現最少 m 次,最多 n 次;跟在一個字元的後面就表示對該字元的限定。

比如郵箱的校驗:/^w+@[a-z0-9]+.[a-z]{2,4}$/,寫在了[a-z]後面,表示可以有2到4位的字母

又比如手機號的校驗: /^1[3456789]d{9}$/,跟在了d後面,表示需要出現9個數字

對於量詞的總結:

定義:正則匹配的字元串對於某一位置上的字元來說,它可以有多種可能,不局限於某一類型,使用字元組可以達到這種目的。

字元組:比如[abc],表示該字元是可以字元 "a"、"b"、"c" 中的任何一個。對於這一位置來說,我們可以有3種可能性。

比如手機號的校驗: /^1[3456789]d{9}$/,它在第二個位置,根據一般手機運營商來說,提供手機第二位的數字可以是3到9的任意一個,才符合規范。

如果字元組里表示的字元特別多,可以使用范圍表示法,用連字元-來省略和縮寫。

比如郵箱的校驗:/^w+@[a-z0-9]+.[a-z]{2,4}$/,它跟在@後面,根據我們郵箱的規范可知,@後面的 [a-z0-9]+ 表示:數字0到9和字母a-z中的至少一個字元

這里簡單解析一下:

對於js正則: ([a-z]{2,6}|[u2E80-u9FFF]{2,3})

js正則的中文漢字正則表達式來源於手冊: https://tool.oschina.net/uploads/apidocs/jquery/regexp.html

對於php正則: ([a-z]{2,6}|[x7f-xff]{6,9})

在utf-8編碼中,用ASCII碼表中的第128~255編碼中的3個編碼表示一個漢字,這里用十六進製表示

驗證一下:

運行結果:

運行結果

全部通過

當然,php正則匹配郵箱,還可以這樣子

原理與 /^w+@([da-z.-]+).([a-z]{2,6}|[x7f-xff]{6,9})/ 類似。

最後,上面的幾個正則表達式是居於當前市面上現存的域名進行匹配的,下面提供幾個更加寬松的郵箱正則匹配

原理都相似,可以對照理解下。如有誤,歡迎留言區批評指正。

㈥ 如何用PHP里的IMAP函數,實現郵件的發送,希

//以騰訊企業郵箱做了測試
$mailServer="imap.exmail.qq.com";//IMAP主機
$mailLink="{{$mailServer}:143}INBOX";//imagp連接地址:不同主機地址不同
$mailUser='***';//郵箱用戶名
$mailPass='***';//郵箱密碼
$mbox=imap_open($mailLink,$mailUser,$mailPass);//開啟信箱imap_open
$totalrows=imap_num_msg($mbox);//取得信件數
for($i=1;$i<$totalrows;$i++){
$headers=imap_fetchheader($mbox,$i);//獲取信件標頭
$headArr=matchMailHead($headers);//匹配信件標頭
$mailBody=imap_fetchbody($mbox,$i,1);//獲取信件正文
}
/**
*
*匹配提取信件頭部信息
*@paramString$str
*/
functionmatchMailHead($str){
$headList=array();
$headArr=array(
'from',
'to',
'date',
'subject'
);
foreach($headArras$key){
if(preg_match('/'.$key.':(.*?)[ ]/is',$str,$m)){
$match=trim($m[1]);
$headList[$key]=$key=='date'?date('Y-m-dH:i:s',strtotime($match)):$match;
}
}
return$headList;
}

㈦ PHP用正則表達式做注冊頁面

// 定義正則表達式
$username_pattern = "/^[a-zA-Z0-9_-]{3,16}$/"; // 用戶名必須是 3-16 位英文字母、數字、下劃線或短橫線
$password_pattern = "/^[a-zA-Z0-9_-]{6,18}$/"; // 密碼必須是派豎型 6-18 位英文字母、數字、下劃線或短橫線
$email_pattern = "/^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$/"; // 郵箱必須符合常規格式
// 獲取表單數據
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
// 驗證用戶名
if (!preg_match($username_pattern, $username)) {
echo "用戶名不合法";
exit;
}
// 驗證密碼塵猜
if (!preg_match($password_pattern, $password)) {
echo "密碼不合法";
exit;
}
// 驗證郵箱
if (!preg_match($email_pattern, $email)) {
echo "郵箱不合法";
exit;
}
// 如果所有表單數據都合法,就將數據纖老插入資料庫或執行其他操作
上述代碼中,使用了 PHP 的 preg_match 函數來進行正則表達式匹配。如果正則表達式匹配成功,函數返回 1,否則返回 0。通過判斷返回值來確定表單數據是否合法。
當然,這只是一個示例,具體的正則表達式和表單驗證邏輯需要根據實際情況進行調整。

㈧ 一個驗證郵箱格式是否正確的php函數的例子

//首先確認是否有一個@符號的存在,同時驗證郵箱長度是否正確 if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) { //如果@符號的個數不對,或者郵箱每部分的長度不對則輸出錯誤 return false;}//把郵箱按「@」符號和「.」符號分割成幾個部分分別用正則表達式匹配 $email_array = explode("@", $email); $local_array = explode(".", $email_array[0]); for ($i = 0; $i < sizeof($local_array); $i++) { if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) { return false;}}if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { //檢查域名部分是否是IP地址,如果不是則應該是有效域名 $domain_array = explode(".", $email_array[1]); if (sizeof($domain_array) < 2) { //域名部分的長度不能太短,否則輸出錯誤 return false; } for ($i = 0; $i < sizeof($domain_array); $i++) { if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) { //域名部分如果不是字母和數字,或者允許的其他字元,則輸出錯誤 return false;}}} //所有檢測通過,輸出郵箱格式正確 return true; }?><?//郵箱格式驗證函數調用示例if(!valid_email($myeml)){

㈨ php mail函數到底怎麼配置

你要用mail就得用smtp服務軟體,然後配送smtp的用戶名和密碼,埠號,然後在php mail的配置文件里配置一下SMTP的地址,用戶名密碼埠號等。

㈩ PHP中如何實現手機號或郵箱登錄高手指點

是否是用戶注冊時,填寫手機和郵箱還有密碼,手機號和郵箱在表不同欄位下,而登錄時只需要在一個輸入框填寫,實現無論手機號還是郵箱都能登錄是嗎?
簡單笨點的方法就是取到這個值,分別和手機號欄位\郵箱欄位匹配,找到了就是這個用戶,沒找到就是手機號或郵箱錯誤.
在一個方法,這個值在控制層表單驗證時判斷是否是正確的手機號,或者郵箱,然後判斷後去進行用戶驗證就可以了啊

熱點內容
三菱人機界面編程實例 發布:2025-01-31 03:13:04 瀏覽:237
des加密畢業論文 發布:2025-01-31 02:57:01 瀏覽:711
ip跨網段訪問 發布:2025-01-31 02:44:42 瀏覽:709
演算法帶頭人 發布:2025-01-31 02:42:25 瀏覽:552
方舟上傳數據 發布:2025-01-31 02:42:25 瀏覽:836
鈴木uy比uu多了什麼配置 發布:2025-01-31 02:34:11 瀏覽:677
蝦米音樂緩存文件夾 發布:2025-01-31 02:34:04 瀏覽:887
主播用什麼我的世界啟動器玩伺服器 發布:2025-01-31 02:32:37 瀏覽:644
做電腦硬體需要哪些配置 發布:2025-01-31 02:30:53 瀏覽:440
小米智能門鎖驗證密碼是多少 發布:2025-01-31 02:30:50 瀏覽:534