我一直在尝试创建一种简单的电子邮件验证方法,该方法无法显示username@domainname.com的存在。 我尝试过:
public boolean validateEmailAddress(String emailAddress) {
RE pattern = new RE("^[(a-zA-Z-0-9-\\_\\+\\.)]+@[(a-z-A-z)]+\\.[(a-zA-z)]{2,3}$");
return pattern.match(emailAddress);
}
我从
导入了REcom.codename1.util.regex.RE
每次测试时,我都会收到错误消息:
Exception: com.codename1.util.regex.RESyntaxException - Syntax error: Missing operand to closure
实现此目标的最佳方法是什么?
答案 0 :(得分:0)
在RegexConstraint
中,我们将其用于电子邮件验证:
^([a-zA-Z0-9.!#$%&'*+/=?^`{|}~]|-|_)+@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$
我对regex感到很糟糕,所以我可能会完全不了解...但是在我看来,(
和[
在您的版本中是相反的。
答案 1 :(得分:0)
我发现了一种非常简单的方法来进行验证。我不知道它的存在:
TextArea userName = new TextArea();
Validator validator = new Validator();
validator.addConstraint(userName, RegexConstraint.validEmail());
如果您想提供自己的用于验证的正则表达式,请执行以下操作:
RegexConstraint emailConstraint = new RegexConstraint("^[(a-zA-Z-0-9-\\_\\+\\.)]+@[(a-z-A-z)]+\\.[(a-zA-z)]{2,3}$", "Invalid Email Address");
validator.addConstraint(userName, emailConstraint);
然后要确保验证成功,请执行以下检查:
if (!validator.isValid()) {
ToastBar.showErrorMessage("You have to make all corrections");
}