TShopping

 找回密碼
 註冊
搜索
查看: 473|回復: 0

[教學] php正則與email

[複製鏈接]
發表於 2012-8-9 18:03:00 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk Push to Twitter 
1.驗證email:

1.
  1. <?php
  2.    2.    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)){
  3.    3.
  4. echo 「Your email address is correct!」;}
  5.    4.    else{
  6.    5.
  7. echo 「Please try again!」;
  8.    6.       }
  9.    7.
  10. ?>
複製代碼


  1. 國際域名格式如下:   
  2.           域名由各國文字的特定字符集、英文字母、數字及「-」(即連字符或減號)任意組合而成,   但開頭及結尾均不能含有「-」,「-」不能連續出現   。   域名中字母不分大小寫。域名最長可達60個字節(包括後綴.com、.net、.org等)。   
  3.    
  4.    
  5.   /^[a-z]([a-z0-9*[-?[a-z0-9+)*@([a-z0-9*[-?[a-z0-9+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i;  
  6.    
  7.   /內容/i   構成一個不區分大小寫的正則表達式;  
  8.   ^   匹配開始  
  9.   $   匹配結束  
  10.   [a-z]   E-Mail前綴必需是一個英文字母開頭  
  11.    
  12.   ([a-z0-9*[-?[a-z0-9+)*   和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a__aa不匹配,如果是空字符,也是匹配的,*表示0個或者多個。  
  13.   *表示0個或多個前面的字符.  
  14.   [a-z0-9*   匹配0個或多個英文字母或者數字  
  15.   [-?   匹配0個或1「-」,因為「-」不能連續出現  
  16.   [a-z0-9+   匹配1個或多個英文字母或者數字,因為「-」不能做為結尾  
  17.    
  18.   @   必需有個有@  
  19.   ([a-z0-9*[-?[a-z0-9+)+   見上面([a-z0-9*[-?[a-z0-9+)*解釋,但是不能為空,+表示一個或者為多個。  
  20.   [\.]   將特殊字符(.)當成普通字符  
  21.   [a-z]{2,3}   匹配2個至3個英文字母,一般為com或者net等.  
  22.   ([\.][a-z]{2})?   匹配0個或者1個[\.][a-z]{2}(比如.com  我不知道一般.com.tw部份是不是都是兩位的,如果不是請修改{2}為{起始字數,結束字數}
複製代碼

  
  完美E
-Mail正則表達式,附詳細講解,請大家幫忙測試一下!

2.抽取字符串中的email:
  1. <?php
  2.     function getEmail($str) {
  3.         $pattern="/[a-z0-9]([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";//為了適合qq的數字郵箱,正則開頭作了修改
  4.         preg_match_all($pattern,$str,$emailArr);
  5.         return
  6. $emailArr[0];
  7.     }


  8.     $emailstr="9999@tshopping.com.tw俺不是米vi地方就開iid郵件列表:fuyongjie@netyea.com,hh@qq.com;.;;,fuyongjie.100@yahoo.com,fu-1999@google.com";

  9. mailArr= getEmail($emailstr);
  10.     echo "<pre>";
  11.     print_r($emailArr);
  12.     echo "</pre>";
  13. ?>

複製代碼


打印如下:

  1. Array
  2. (
  3.     [0] =>9999@tshopping.com.tw
  4.     [1] => fuyongjie@netyea.com
  5.     [2] => hh@pchome
  6.   [3] => fuyongjie.100@yahoo.com
  7.     [4] => fu-1999@google.com
  8. )

複製代碼



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


 

臉書網友討論
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2016-12-7 09:57 , Processed in 0.053442 second(s), 18 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表