【问题标题】:Android, getting the text from an edittext [duplicate]Android,从edittext中获取文本[重复]
【发布时间】:2014-12-19 00:54:10
【问题描述】:

我正在学习在 Android 中编程,我有一个问题。 我有一个带有 TextView、Button 和 EditText 的应用程序,我希望我的应用程序: 我打开它,我在edittext中输入一些东西,当我按下按钮时,我想检查edittext中的文本是否是有效的电子邮件(使用正则表达式)并在textview中相应地显示一条消息。

【问题讨论】:

  • 不,我知道如何验证电子邮件,我想知道从编辑文本中获取文本并检查它的正确方法是什么。
  • 使用findViewById()并传递文本框的ID,接下来调用getText()就可以了
  • I know how to validate the email,。那请看你发帖的主题。 I want .... to get the text from the edit text。那么请调整您帖子的主题。
  • 我不知道您是在询问验证电子邮件地址、验证电子邮件正文(无论这意味着什么)还是......只是从EditText 获取用户的文本。如果您不解决您的问题以明确这一点,它可能会被关闭。

标签: java android regex


【解决方案1】:

您也可以不使用 RegEx 进行检查!您可以将字符串的每个字符放入字符数组中。在那里你可以检查是否有一个点,一个@等等......

private static final String EMAIL_PATTERN = 
        "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
        + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

这是正则表达式 -> 这是一个测试类

    import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class EmailValidator {
private Pattern pattern;
private Matcher matcher;

private static final String EMAIL_PATTERN = 
    "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
    + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

public EmailValidator() {
    pattern = Pattern.compile(EMAIL_PATTERN);
}

public static void main(String[] args) {
    EmailValidator em = new EmailValidator();
    boolean y  = em.validate("sakulreld@aol.com");
    System.out.println(y);
}



/**
 * Validate hex with regular expression
 * 
 * @param hex
 *            hex for validation
 * @return true valid hex, false invalid hex
 */
public boolean validate(final String hex) {

    matcher = pattern.matcher(hex);
    return matcher.matches();

}

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2016-07-25
    • 1970-01-01
    相关资源
    最近更新 更多