Codenameone 代码名一电子邮件验证

Codenameone 代码名一电子邮件验证,codenameone,Codenameone,我一直在尝试创建一个简单的电子邮件验证方法,它显示了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); } 我是从中国

我一直在尝试创建一个简单的电子邮件验证方法,它显示了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);
}
我是从中国进口的

com.codename1.util.regex.RE
每次测试时,我都会收到错误消息:

Exception: com.codename1.util.regex.RESyntaxException - Syntax error: Missing operand to closure

实现此目的的最佳方法是什么?

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,}))$

我对正则表达式很反感,所以我可能完全不喜欢。。。但是在我看来,
[
在您的版本中是相反的。

我发现了一种非常简单的方法来进行验证。我不知道它的存在:

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");
       }

@Dsenese1的可能重复-不重复,两个概念不一样。