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

首頁 > 語言 > PHP > 正文

PHP驗證郵箱與郵箱有效性驗證

2024-09-04 11:47:17
字體:
來源:轉載
供稿:網友

下面我來總結了在php郵箱驗證的正則表達式以及還可以checkdnsrr函數來驗證你輸入的郵箱是否是有效的哦,這樣可以更好的過濾到無效郵箱地址哦。

域名由各國文字的特定字符集、英文字母、數字及“-”(即連字符或減號)任意組合而成, 但開頭及結尾均不能含有“-”,“-”不能連續出現 。 域名中字母不分大小寫。域名最長可達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 構成一個不區分大小寫的正則表達式

代碼如下:

  1. $email = "tanklo_--vehy@yahoo.com.cn"
  2.     function check_email($email) { 
  3.        $pattern_test = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i"
  4.        return  preg_match($pattern_test,$email); 
  5.     } 
  6. echo check_email($email); 

上面的只能簡單的驗證郵件格式,下面一個更具體驗證方法,PHP如何驗證,代碼如下:

  1. <? 
  2. //PHP驗證郵箱格式的函數 
  3. function valid_email($email) { 
  4. // First, we check that there's one @ symbol, and that the lengths are right 
  5. if (!ereg("^[^@]{1,64}@[^@]{1,255}$"$email)) { 
  6. // Email invalid because wrong number of characters in one section, or wrong number of @ symbols. 
  7. return false; 
  8. // Split it into sections to make life easier 
  9. $email_array = explode("@"$email); 
  10. $local_array = explode("."$email_array[0]); 
  11. for ($i = 0; $i < sizeof($local_array); $i++) { 
  12. if (!ereg("^(([A-Za-z0-9!#$%&#038;'*+/=?^_`{|}~-][A-Za-z0-9!#$%&#038;'*+/=?^_`{|}~.-]{0,63})|("[^(/|")]{0,62}"))$", $local_array[$i])) { 
  13. return false; 
  14. if (!ereg("^[?[0-9.]+]?$"$email_array[1])) { // Check if domain is IP. If not, it should be valid domain name 
  15. $domain_array = explode("."$email_array[1]); 
  16. if (sizeof($domain_array) < 2) { 
  17. return false; // Not enough parts to domain 
  18. for ($i = 0; $i < sizeof($domain_array); $i++) { 
  19. if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$"$domain_array[$i])) { 
  20. return false; 
  21. return true; 
  22.  
  23. //應用示例 
  24. if(!valid_email($myeml)){ 
  25. echo"<script>alert('Please enter a valid e-mail address');location.href='javascript:history.back()'</script>"
  26. break
  27. ?> 

無意中就發現checkdnsrr函數那里就有了更精妙的例子,分享給大家,代碼如下:

  1. <?php 
  2. function validate_email($email){ 
  3. $exp = "^[a-z'0-9]+([._-][a-z'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$"
  4. if(eregi($exp,$email)){ //先用正則表達式驗證email格式的有效性 
  5. if(checkdnsrr(array_pop(explode("@",$email)),"MX")){//再用checkdnsrr驗證email的域名部分的有效性 
  6. return true; 
  7. }else
  8. return false; 
  9. }else
  10. return false; 
  11. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仙桃市| 安岳县| 长春市| 会同县| 灵武市| 高安市| 甘洛县| 建德市| 太仆寺旗| 临澧县| 哈密市| 敖汉旗| 衢州市| 新建县| 酉阳| 黄陵县| 濮阳县| 麟游县| 临沂市| 阳朔县| 崇明县| 庆城县| 同心县| 昌都县| 翁牛特旗| 宝丰县| 彝良县| 南陵县| 七台河市| 遵义县| 吐鲁番市| 饶阳县| 普格县| 伊金霍洛旗| 洪洞县| 陕西省| 隆昌县| 班戈县| 化州市| 韶关市| 康平县|