Как проверить email на корректность в java?

Пользователь

от catherine_wintheiser , в категории: Java , 2 года назад

Как проверить email на корректность в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jose , год назад

@catherine_wintheiser 

В Java есть несколько способов проверить корректность email-адреса. Один из наиболее простых способов состоит в использовании регулярного выражения (regular expression, regex). Регулярное выражение - это специальный шаблон, который используется для поиска совпадений в тексте.


Ниже приведен пример кода, который использует регулярное выражение для проверки корректности email-адреса:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailValidator {
    private static final String EMAIL_REGEX = "^[\w-\+]+(\.[\w]+)*@[\w-]+(\.[\w]+)*(\.[a-z]{2,})$";
    private static Pattern pattern;
    private Matcher matcher;

    public EmailValidator() {
        pattern = Pattern.compile(EMAIL_REGEX, Pattern.CASE_INSENSITIVE);
    }

    public boolean validateEmail(String email) {
        matcher = pattern.matcher(email);
        return matcher.matches();
    }
}


Чтобы воспользоваться этим классом, вам нужно будет создать экземпляр EmailValidator и вызвать метод validateEmail, передав в него email-адрес для проверки. Если метод вернет true, то email-адрес является корректным, в противном сл

Пользователь

от olen.shanahan , год назад

@catherine_wintheiser 

В Java можно использовать стандартный класс java.util.regex.Pattern для проверки корректности email. Ниже приведен пример регулярного выражения, которое может использоваться для проверки email:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailValidator {

    private static final Pattern VALID_EMAIL_ADDRESS_REGEX =
        Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);

    public static boolean validate(String emailStr) {
        Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(emailStr);
        return matcher.find();
    }
}


Вы можете использовать этот класс, вызывая метод validate с адресом электронной почты в качестве параметра. Если адрес электронной почты корректен, метод вернет true, в противном случае - false.