程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 判斷郵箱地址的正則表達式詳解

php 判斷郵箱地址的正則表達式詳解

編輯:關於PHP編程

在php中我們經常會來利用正則表達式來驗證用戶輸入的信息是不是郵箱地址了,下面我來給大家介紹判斷郵箱地址的正則表達式詳解

判斷郵件的一個正則表達式,逐句解釋下是什麼意思

 代碼如下 復制代碼

^(w+((-w+)|(.w+))*)+w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$

 
^   匹配字符串頭

(w+((-w+)|(.w+))*) 1:這裡匹配laidfj456、sfi-lsoke、fe.23i這樣的字符串

+   匹配加號

w+((-w+)|(.w+))* 同1

@   匹配@

[A-Za-z0-9]+  2:由大小寫字母和數字?成的字符串,等價於w+

((.|-)[A-Za-z0-9]+)*   匹配0個或多個由"."或"-"開頭的字符串,如.oeiu234mJ、-oiwuer4

.   匹配"."

[A-Za-z0-9]+  同2

$   匹配字符串的?尾

實例

 代碼如下 復制代碼

<?php
/**
 * 郵件的正則表達式  @author:lijianghai
 */
 function  isEmail($input = null)
 {  //用戶名:以數字、字母、下滑線組成;
  $email = $input;
  /*使用preg_ereg()出錯:因為第二個參數需要是數組
   * if(preg_grep("^[a-zA-Z][a-zA-Z0-9_]{3,19}@[0-9A-Za-z]{1,10}(.)(com|cn|net|com.cn)$", array($input)))
  {
   echo $email.'是符合條件的郵件地址';
  }else
  {
   echo $email.'格式錯誤';
  }
  */
  if(ereg("^[a-zA-Z][a-zA-Z0-9_]{3,9}@[0-9a-zA-Z]{1,10}(.)(com|cn|com.cn|net)$",$email))
  {
   echo $email."符合格式規范";
  }
  else
  {
   echo  $email.'格式錯誤';
  }
 }
 $email = "";
 isEmail($email);
?>

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