如何使用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
}
如何使用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
}
請嘗試下面的代碼。
$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.\";
}
之前和你原來的正則表達式後,只需添加分隔符(我用/
),然後在末尾添加i
標誌。
if(!eregi("/". $regex ."/i", $subemail)){
//do this
}
爲什麼你不使用filter_var驗證電子郵件?
var_dump(filter_var('[email protected]', FILTER_VALIDATE_EMAIL));
謝謝。將返回true,但我的完整算法需要的不僅僅是獲得真或假。無論如何,非常感謝兄弟! – SDFG
看起來像一個兼容的表達式 – Phil