Кодовое имя One Email validation - PullRequest
       8

Кодовое имя One Email validation

0 голосов
/ 14 января 2019

Я пытался создать простой метод проверки электронной почты, который показывает существование 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);
}

Я импортировал RE из

com.codename1.util.regex.RE

Каждый раз, когда я проверяю это, я получаю сообщение об ошибке:

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

Каков наилучший способ достичь этого?

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Я обнаружил очень простой способ сделать эту проверку. Я не знал, что это существует:

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");
       }
0 голосов
/ 15 января 2019

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

Я довольно ужасно отношусь к регулярным выражениям, поэтому я могу быть полностью отключен ... Но мне кажется, что ( и [ поменялись местами в вашей версии.

...