我有一个java表单,用户必须插入他/她的电子邮件地址。我想在keyreleased事件上验证该电子邮件地址。如果格式错误,则应显示一条消息,说明格式错误,如果地址正常,则应显示另一条消息,说明格式正确。
这是emailvalidator类文件的代码,我写信用来验证我的电子邮件地址。
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 boolean validate(final String hex) {
matcher = pattern.matcher(hex);
return matcher.matches();
}
}
现在我想用它来验证userForum.java上的电子邮件地址字段。我如何使用上面的验证类来验证关键发布事件的电子邮件地址?
(我的文本域名是txt_email,消息将显示在lbl_msg标签上。)
答案 0 :(得分:0)
在底层文档上使用DocumentListener,如下所述:
Value Change Listener to JTextField
使用KeyListener意味着如果用户粘贴在电子邮件地址中,则无法验证。