我在嘗試使用preg_match(或eregi())驗證電子郵件地址時遇到了一些問題,如果它更合適的話)。我已經嘗試了幾種正則表達式模式,無論我做什麼似乎都不起作用。PHP - preg_match()和eregi()不工作?
這裏的功能:
function validateEmail($email) {
if(eregi('[a-z||0-9]@[a-z||0-9].[a-z]', $email)){
return true;
}
}
任何想法有什麼不對?我已經嘗試在eregi(和之前使用的preg_match)之前放置一個感嘆號,並且將其全部逆轉(如預期的那樣),但仍未使其正常工作。如果它不傳遞正則表達式,我希望它返回TRUE。
而我在preg_match函數時沒有使用相同的正則表達式,於是我發現了另一個正則表達式,因爲我知道你不能混合這兩個。對?
在此先感謝!
這不是一個正確的正則表達式。 '[]'只匹配一個字符,'.'被視爲匹配*任何*字符的特殊字符,而不是'.'。一個更正確的正則表達式可能是:'[a-z0-9] + @ [a-z0-9] + \。[a-z] {2,4}',儘管如此nikic所說的也太嚴格了。 –
Frxstrem
2010-09-01 14:09:58
你的正則表達式也不起作用,所以我不認爲這是正確的正則表達式。 – Nike 2010-09-01 14:15:40