2013-07-12 50 views
-1

如何使用pregmatch替換此代碼上的eregi?獲取eregi不推薦使用的錯誤消息

$subemail=$_POST['emailadd']; 

$regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]{1,})*\.([a-z]{2,}){1}$"; 

if(!eregi($regex, $subemail)){ 
//do this 
} 
+0

看起來像一個兼容的表達式 – Phil

回答

0

請嘗試下面的代碼。

$regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/'; 

if (preg_match($regex, $email)) { 
echo $email . \" is a valid email. We can accept it.\"; 
} else { 
echo $email . \" is an invalid email. Please try again.\"; 
} 
0

之前和你原來的正則表達式後,只需添加分隔符(我用/),然後在末尾添加i標誌。

if(!eregi("/". $regex ."/i", $subemail)){ 
    //do this 
} 
1

爲什麼你不使用filter_var驗證電子郵件?

var_dump(filter_var('[email protected]', FILTER_VALIDATE_EMAIL)); 
+0

謝謝。將返回true,但我的完整算法需要的不僅僅是獲得真或假。無論如何,非常感謝兄弟! – SDFG

相關問題