Android,从edittext中获取文本[重复]

Posted

技术标签:

【中文标题】Android,从edittext中获取文本[重复]【英文标题】:Android, getting the text from an edittext [duplicate] 【发布时间】: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 获取用户的文本。如果您不解决您的问题以明确这一点,它可能会被关闭。 【参考方案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();


【讨论】:

以上是关于Android,从edittext中获取文本[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从android中的edittext中获取选定的文本?

从 EditText 获取文本并在 Android 中使用 HttpPost 发送

通过android eclipse的多行edittext [重复]

如何使用android中的共享首选项将数据保存在editText中[重复]

从android中的edittext框中获取XXX-XXX-XXXX格式的电话号码

无法从edittext获取值到字符串