如何验证编辑文本以便只能输入有效的电子邮件?

时间:2013-02-11 21:19:39

标签: android

我正在使用eclipse制作一个Android应用程序。我有editText框以验证为电子邮件。这个editText显然是XML格式,它的id是“editText1”。 我找到了如何验证电子邮件的答案,但我的问题是:我不知道如何将其应用于我的java代码中的“editText1”。

Below i present the code for email validation that i found:

   public final Pattern EMAIL_ADDRESS_PATTERN = Pattern.compile(
            "[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" +
            "\\@" +
            "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" +
            "(" +
            "\\." +
            "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" +
            ")+"
        );

    private boolean checkEmail(String email) {
        return EMAIL_ADDRESS_PATTERN.matcher(email).matches();
}

当我将此代码粘贴到我的java文件中时,我收到消息:

“MainActivity类型的方法checkEmail(string)从不在本地使用”

1 个答案:

答案 0 :(得分:2)

您必须获得对EditText的引用

这样的事情应该有效:

EditText et = (EditText) findViewById(R.id.editText1);

然后你可以从你的EditText中获取这样的文字:

String str = et.getText().toString();

然后你可以调用你的验证方法

if(checkEmail(str)){
  //email is valid
}

然而,根据您提出的问题以及您提出问题的方式,我可以告诉您,在潜入Android之前,回过头来学习普通java可能会从中受益匪浅。一旦你有java语法,你应该从官方Android开发者网站上的示例和教程开始,它涵盖了你似乎无法理解的许多基础知识。

最后一个,“editText1”对于EditText来说不是一个非常好的名称,它没有解释有关该对象的任何内容。如果您努力为对象使用更具描述性的名称,您的代码将更容易使用,也许“emailText”可能是更好的选择?