2013-06-01 174 views
0

我完全不知道任何正則表達式。我試圖在PHP註冊腳本中執行電子郵件驗證(以檢查是否輸入了有效的電子郵件)。我有一個來自互聯網的腳本,但我不知道它是如何工作的,我完全不熟悉所使用的功能。我發現他們使用的函數(eregi_replace())已被棄用,而被preg_replace()所青睞。首先,有人能指導我通過下面的功能的步驟,其次,你能解釋preg_replace()函數及其工作原理嗎? 驗證腳本:開始正則表達式

$regex = "([a-z0-9_.-]+)". # name 
      "@". # at 
      "([a-z0-9.-]+){2,255}". # domain & possibly subdomains 
      ".". # period 
      "([a-z]+){2,10}"; # domain extension 
     $eregi = eregi_replace($regex, '', $email); 
     $valid_email = empty($eregi) ? true : false; 

劇本是從here

回答

4

正則表達式的來源在這裏沒有必要:

filter_var('[email protected]', FILTER_VALIDATE_EMAIL); 

如果你想訓練我建議你去http://www.regular-expressions.infohttp://php.net

要快速測試圖案,您可以使用此在線工具:http://regex.larsolavtorvik.com/

+0

謝謝!這個功能是什麼? – imulsion

+0

@imulsion:php有很多驗證過濾器,請參閱:http://php.net/manual/en/function.filter-var.php –

+0

當它讓我:)時會接受答案:) – imulsion