2011-09-28 128 views
-2

我正在開發一個表單,用戶需要輸入有效的電子郵件。他/她將使用它作爲loginid來玩遊戲。我想知道如何驗證包含@的用戶名,類似於string.contains函數。我知道我們可以使用string.indexOf(),但它不支持「@」。請建議我如何執行此驗證。當電子郵件編輯區失去焦點時,必須檢查用戶名是否包含「@」。@對BlackBerry電子郵件進行驗證

+0

有什麼不對問一個真正的問題嗎?爲什麼downvote?這是非常羞辱 –

回答

1

使用EmailAddressEditField ..這裏是這樣的

EmailAddressEditField email=new EmailAddressEditField("Email Address: ", ""); 
     String address =email.getText(); 
      int at = address.indexOf("@"); 
      int len = address.length(); 
      String host = address.substring(at + 1, len); 
      int dot = host.lastIndexOf('.'); 
      len = host.length(); 

      if (at <= 0 || at > len - 6 && dot < 0 || dot >= len - 3) 
       Dialog.alert("Invalid email"); 
      else 
      { 
       if (host.indexOf("..") >= 0) 
       { 
        Dialog.alert("Invalid email"); 
       } 
       else 
       { 
        //correct mail id.. continue your process 

       } 
      } 
+0

當我輸入abc ...它說無效...確定同意....當我輸入ABC @然後它也說無效..但註冊成功...我怎麼能確定無效不會來當用戶輸入@ –

+0

請注意我不關心'。'這裏。我更強調@ –

+0

這聽起來對你來說,你真正想要做的是確保輸入的數據是可交付的電子郵件地址。 EmailAddresEditField或相關的過濾器只會確保輸入的內容在語法上是正確的。如果要驗證電子郵件地址,則必須在服務器上執行此操作,可能是通過使用SMTP協議。 – Richard