我正在学习在Android中编程,我有一个问题。 我有一个带TextView,Button和EditText的应用程序,我希望我的应用程序: 我打开它,在edittext中输入内容,当我按下按钮时,我想检查edittext中的文本,如果它是有效的电子邮件(使用正则表达式)并在textview中相应地显示消息。
答案 0 :(得分:1)
您也可以在没有RegEx的情况下进行检查!您可以将String的每个字符放入一个字符数组中。在那里你可以检查是否有点,@等等......
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,})$";
这是RegEx表达式 - >这是一个测试类
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();
}
}