2014-10-09 68 views
0

我正在製作一個網站,其中有一個形式獲得在PHP驗證。 當人們發佈表單時,電子郵件會被髮送到$ email變量,並檢查正確的格式。然而,我還沒有找到一段代碼來檢查格式是否正確(如果它的有效並不重要),我已經找到了phps自己的函數,但它沒有檢查瑞典語字母,我還發現了另一個函數它會檢查郵件格式,但如果您有格式爲[email protected]的電子郵件,則會中斷。它只適用於格式爲[email protected]檢查瑞典字母的正確電子郵件格式

我非常感謝任何幫助,使這項工作,並找到一個功能的作品。

+0

你需要瑞典人物:[email protected] ?或兩者 – 2014-10-09 10:24:10

+0

它應該檢查正確的語法,並能夠處理瑞典語字母以及英語 – Krysvac 2014-10-09 11:08:13

+0

這是我的解決方案下面的東西! – 2014-10-09 11:17:40

回答

-1

任何代碼,你可以使用這個正則表達式:

if(preg_match("/^\b[A-ZÅÄÖåäö0-9._%+-][email protected][A-ZÅÄÖåäö0-9.-]+\.[A-Z]{2,4}\b$/i",$email)){ 
     //mail is valid 
} 

這將驗證youråäö@adressö.se等

+0

以及[email protected]和其他國家/地區的情況如何?瑞典信件的問題不僅僅是瑞典信件 – 2014-10-09 10:33:09

+0

您認爲上述解決方案的問題是什麼? – 2014-10-09 10:35:12

+0

\。[A-Z] {2,4} \ b $不支持.company,.coffee,..construction等所有新域名。俄語,日語和國家區域,如。移動和.РФ – 2014-10-09 10:39:30

-2

我個人建議你在客戶端驗證表單(即)使用javascript或jquery 如果所有表單驗證都被傳送到服務器,服務器負載將會增加,並且因爲無效條目而重新提交。對於電子郵件驗證

jQuery代碼:

function ValidateEmail(email) { 
    var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/; 
    return expr.test(email); 
}; 

$("#id").blur(function(){ 

    if(!ValidateEmail($("#id").val())){ 
     //your code 
    } 
    else { 
     //your code 
    } 
}) 
+1

你永遠不要相信最終用戶。驗證客戶端可以很好地幫助用戶糾正錯誤類型的條目。但你應該始終驗證服務器端! – 2014-10-09 10:29:56

-1

單一的東西,你可以在電子郵件地址檢查是它所包含@。檢查,沒有發現任何地方

相關問題