程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 用PHP校驗EMAIL地址的正確方法(1)

用PHP校驗EMAIL地址的正確方法(1)

編輯:關於PHP編程

由John Klensin編寫的互聯網任務工程組(IETF)文檔RFC 3696 “應用程序技術檢查和命名轉換”給出了多個真實有效的EMAIL地址,但很不幸的是這些地址卻被大多數PHP校驗程序給拒絕了,地址Abc@[email protected],customer/[email protected] 和!def!xyz%[email protected]都是有效的,下面是在有關文獻中給出的一個非常流行正則表達式,但它拒絕了前面給出的所有EMAIL地址:

^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$

這個正則表達式只允許下劃線(_)和連字符(-),數字和大小寫字母。即使在此之前先對字母做了大小寫轉換,也會拒絕那些包含斜線(/),等號(=),驚歎號(!)和百分號(%)的地址。這個表達式也要求最高級的域組件至少要有2個或3個字符,因此也會拒絕有效的域,如.museum。

另一個受人喜歡的正則表達式是:

^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$

這個正則表達式也會拒絕前面段落給出的有效示例地址,它優雅地解決了大寫字母問題,並且當最高級域名只有2個或3個字符也不會報錯了,但它又允許無效的域名,如example..com。

清單1顯示了一個來自PHP Dev Shed(

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved