php獲取郵箱內容嗎,php正則驗證email郵箱及抽取內容中email的例子

1,php正則驗證email格式:

復制代碼 代碼示例:

if (ereg(“/^[a-z]([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i; ”,$email)){

echo “Your email address is correct!”;}

else{

echo “Please try again!”;

}

?>

下面介紹下,用php正則匹配域名的方法。

我們知道,國際域名格式如下:

域名由各國文字的特定字符集、英文字母、數字及“-”(即連字符或減號)任意組合而成, 但開頭及結尾均不能含有“-”,“-”不能連續出現 。

域名中字母不分大小寫。域名最長可達60個字節(包括后綴.com、.net、.org等)。

/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i;

/內容/i 構成一個不區分大小寫的正則表達式;

^ 匹配開始

$ 匹配結束

[a-z] E-Mail前綴必需是一個英文字母開頭

([a-z0-9]*[-_]?[a-z0-9]+)* 和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a__aa不匹配,如果是空字符,也是匹配的,*表示0個或者多個。

*表示0個或多個前面的字符.

[a-z0-9]* 匹配0個或多個英文字母或者數字

[-_]? 匹配0個或1“-”,因為“-”不能連續出現

[a-z0-9]+ 匹配1個或多個英文字母或者數字,因為“-”不能做為結尾

@ 必需有個有@

([a-z0-9]*[-_]?[a-z0-9]+)+ 見上面([a-z0-9]*[-_]?[a-z0-9]+)*解釋,但是不能為空,+表示一個或者為多個。

[\.] 將特殊字符(.)當成普通字符

[a-z]{2,3} 匹配2個至3個英文字母,一般為com或者net等.

([\.][a-z]{2})? 匹配0個或者1個[\.][a-z]{2}(比如.cn等) 我不知道一般.com.cn最后部份是不是都是兩位的,如果不是請修改{2}為{起始字數,結束字數}

2,抽取字符串中的email:

復制代碼 代碼示例:

function getEmail($str) {

$pattern = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";

preg_match_all($pattern,$str,$emailArr);

return $emailArr[0];

}

$emailstr = "9999@qq.com.cn俺不是米vi地方就開iid郵件列表:fuyongjie@163.com 和hh@qq.com;.;;,fuyongjie.100@yahoo.com,fu-1999@sina.com";

$emailArr = getEmail($emailstr);

echo "

";

print_r($emailArr);

echo "

";

?>

輸出結果:

復制代碼 代碼示例:

Array

(

[0] => 9999@qq.com.cn

[1] => fuyongjie@163.com

[2] => hh@qq.com

[3] => fuyongjie.100@yahoo.com

[4] => fu-1999@sina.com

)

3,比較:第2里的正則里沒有了第1的^和$;

就介紹這些吧,希望對大家學習php正則有一定的幫助。

腳本學堂,祝大家學習進步。

您可能感興趣的文章:

php郵箱檢測的正則表達式一例

php郵箱驗證類及正則匹配域名驗證的實例代碼

php常用正則表達式(日期 電話 中文 郵箱等)

php寫的用來檢測手機郵箱用戶名的類

驗證用戶輸入的郵箱有效性與正確性的php代碼

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282899.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282899.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282899.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java——Arrays類操作數組的工具類

JDK中提供了一個專門用于操作數組的工具類,即 Arrays 類,位于 Java。util 包中。該類提供了一系列方法來操作數組,如排序、復制、比較、填充等,用戶直接調用這些方法即可,不需要自己編碼實現,降低了開發難度…

PropertiesUtil 獲取文件屬性值

有時候不要把一些屬性值寫死在代碼中,而是寫在配置在文件中,方便更改 PropertiesUtil工具類:讀取key-value形式的配置文件,根據key獲得value值 1、測試類 public class Test{private static PropertiesUtil propertiesUtil new …

CORS——跨域請求那些事兒

【本期嘉賓介紹】睿得,具有多年研發、運維、安全等IT相關從業經歷。目前從事CDN、存儲、視頻直播點播的技術支持。喜愛鉆研,喜愛編碼,喜愛分享。 在日常的項目開發時會不可避免的需要進行跨域操作,而在實際進行跨域請求時&#xf…

oracle 數據執行計劃,Oracle里常見的執行計劃

本文介紹了Oracle數據庫里常見的執行計劃,使用的Oracle數據庫版本為11.2.0.1。1、與表訪問相關的執行計劃Oracle數據庫里與表訪問有關的兩種方法:全表掃描和ROWID掃描。反映在執行計劃上,與全表掃描對應的執行計劃中的關鍵字是“TABLE ACCESS…

.NET MAUI實戰 Dispatcher

詳細內容這一期分享的內容非常簡單,在之前使用過WPF的開發者對MVVM開發模式下ViewModel中后臺線程轉UI線程并不陌生使用Appplication.Current.Dispatcher。那么在.NET MAUI中也有同樣的機制,存在于.NET MAUI Shell對象中。那么什么是Shell?官…

GDB 配置

GDB 配置 使用 GDB 擴展來配置 GDB 事實上我還是覺得原生的 GDB 就挺好,速度快,需要查看什么執行命令就可以。 GDB DashBoard https://github.com/cyrus-and/gdb-dashboard $sudo mkdir -m 777 ~/gdbinit; cd ~/gdbinit $git clone https://github.com/c…

Oracle區分中文和英文,oracle中中英文段落劃分實現

oracle中關于中文占用字節數,不同的數據庫有不同的情況,有的占用兩個字節、有的占用三個字節,現在測試環境的數據庫中文占用三個字節,要實現由中英文組成的段落字符串,按照每行占用多少字節重新分段,具體應…

未來哪些行業值得加入?

閱讀本文大概需要5分鐘。這個問題很多讀者都問過,基本上每隔幾篇原創就會有人留言問,還有公眾號后臺和知乎私聊。之前在一次留言中我承諾專門開一篇文章來聊聊這個話題,今天想著要兌現這個諾言了。為啥最近會存在這個問題呢,原因其…

虛擬機網絡配置詳解(NAT、橋接、Hostonly)

VirtualBox中有四種網絡連接方式: NATBridged AdapterInternalHost-only AdapterVMWare中有三種,其實它跟VMWare的網絡連接方式都是一樣的概念,只是比VMWare多了Internal方式 在介紹四種工作模式之前,先說下虛擬網卡,虛擬機安裝好…

Oracle收款核銷了怎么撤銷,21應收收款-核銷取消或核銷調整

注:本課程不包含學習下載資料目標人群:1、Oracle ERP/EBS初級顧問和技術顧問; 1、Oracle ERP/EBS用戶熟練學習ERP系統的基本設置功能; 2、Oracle ERP/EBS財務初級顧問的學習; 3、其他對Oracle ERP/EBS有興趣的想轉行如…

微軟宣布正式開源 Azure IoT Edge 邊緣計算服務

開發四年只會寫業務代碼,分布式高并發都不會還做程序員? 微軟宣布,去年年底公開預覽的 Azure IoT Edge 邊緣計算服務已進入官方版,并通過 GitHub 將其開源。Azure IoT Edge 主要將基于云的分析和定制的業務邏輯轉移到邊緣設備&a…

Windows下安裝BeautifulSoup

電腦首先要安裝好了python,我安裝的是2.7。 下面就是bs4的安裝過程了: 1.去官網下載BeautifulSoup4 2017.02.10目前最新版本:Beautiful Soup 4.3.2 2.解壓文件 將下載得到的壓縮包解壓到任意文件夾,路徑不含中文 3.打開cmd命令提示符 winr&am…

BZOJ1578: [Usaco2009 Feb]Stock Market 股票市場

S<50只股票D<10天的價格給出&#xff0c;求第一天開始用n<200000元最后能得到的最大錢數&#xff0c;保證答案<500000。 做D次完全背包即可&#xff0c;每次做完把dp數組清空。 1 #include<cstdio>2 #include<cstring>3 #include<algorithm>4 #i…

OC如何跳到系統設置里的各種設置界面

當 iOS系統版本 < iOS7時 , 只能跳轉到 系統設置頁面 &#xff0c;樓主試了下&#xff0c;非真機是沒有任何效果的 當iOS系統版本 < iOS 10.0 時 NSURL *url [NSURL URLWithString:"prefs:rootLOCATION_SERVICES"]; if( [[UIApplication sharedApplication]can…

oracle 注冊程序,oracle 靜態注冊

1. 最近在裝ASMDATAGUARD&#xff0c; 在靜態注冊上面吃了大虧&#xff0c;現總結如下2. 在Asm環境中&#xff0c;listener監聽器在grid用戶下DGLSN (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST asm)(PORT 1521))))SID_LIST_DGLSN (SID_LIST (SID_DESC (…

Linux下find用法總結

find:實時查找工具&#xff0c;通過遍歷指定起始路徑下的文件系統層級結構完成文件查找:工作特性:查找速度略慢精確查找實時查找用法:find [option] [查找起始路徑][查找條件][處理動作]查找起始路徑&#xff1a;指定具體搜索目標起始路徑&#xff1b;默認為當前目錄查找條件:指…

虛擬DOM Diff算法解析

React中最神奇的部分莫過于虛擬DOM&#xff0c;以及其高效的Diff算法。這讓我們可以無需擔心性能問題而”毫無顧忌”的隨時“刷新”整個頁面&#xff0c;由虛擬DOM來確保只對界面上真正變化的部分進行實際的DOM操作。React在這一部分已經做到足夠透明&#xff0c;在實際開發中我…

生成ID模板:年月日時分秒+6位自增碼

因為生成訂單ID、商品ID 或者什么什么ID的&#xff0c;不想用自增&#xff0c;又怕反復&#xff0c;于是就用 年與日時分秒 6位自增碼 &#xff08;共計20位長度&#xff09;來當作ID 注意&#xff1a;假設你的ID是Long型。就要注意&#xff0c;Long的最大長度為19位&#xf…

oracle optimizer_features_enable,Oracle Optimizer:遷移到使用基于成本的優化器—–系列2.1-數據庫專欄,ORACLE...

oracle optimizer:遷移到使用基于成本的優化器—–系列2.1系列之二包含影響優化器選擇執行計劃的初始化參數和oracle內部隱藏參數&#xff0c;合理設置這些參數對于優化器是相當重要的。6.影響優化器的初始化參數除了生成統計資料之外&#xff0c;下面提及的參數設置在你的系統…

Azure 跨訂閱遷移資源踩坑記

突然收到微軟的郵件&#xff0c;提示我的一個 Azure 訂閱已經到期&#xff0c;所以轉為“禁用”狀態&#xff0c;只能進行數據的導出和處理。在這個訂閱里有不少較重要的資源在跑&#xff0c;直接關了可不行…于是開啟了一個支持事件&#xff0c;臺灣美眉的態度和聲線真的沒話說…