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