2012-11-15 140 views
0

我有這個命令來檢查有效的電子郵件地址。我剛剛發現,當我嘗試將其添加到我們的電子郵件服務器(所有電子郵件請求都是本地電子郵件地址)時,電子郵件服務器不允許數字字符啓動電子郵件地址/用戶名。我已經閱讀了preg_match命令的所有文檔,並且無法找到如何在第一個字符位置的數字開頭時使其失敗。我是新手,所以任何幫助將不勝感激。!preg_match電子郵件檢查

if (!preg_match("(^[-\w\.][email protected]([-a-z0-9]+\.)+[a-z]{2,4}$)i", $in_email)) 

回答

0

試試這個;

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

而且使用方法如下

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

if (preg_match($regex, $email)) { 
    // Valid email 
} else { 
    // Invalid email 
} 
+0

我說這一點,但它使沒有數字被允許的。我希望數字可以在他們想要的時候使用 - 只是不在第一個字符位置。 –

+0

好的,更新了答案,請檢查答案並接受它是否解決了您的問題。 –

+0

完美 - 非常感謝!我一直試圖弄清楚這幾天。 –