import java.util.regex.*;
class LoginValidationException extends Exception {
public LoginValidationException(String message) {
super(message);
}
}
public class LoginValidator {
public static void validateLogin(String login) throws LoginValidationException {
Pattern pattern = Pattern.compile("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*_)[a-zA-Z\\d_]{1,20}$");
Matcher matcher = pattern.matcher(login);
if (!matcher.matches()) {
throw new LoginValidationException("Login does not meet the requirements");
}
}
public static boolean isLoginValid(String login) {
try {
validateLogin(login);
return true;
} catch (LoginValidationException ex) {
return false;
}
}
}
* - должен содержать только латинские буквы, цифры и знак подчеркивания
* - должен содержать как минимум одну маленькую, одну большую букву, цифру и нижнее подчеркивание
* - максимальная длинна логина- 20 символов
* - если логин не соответствует требованиям - выбросить LoginValidationException
* - можно использовать регулярные выражения
* 3. Реализуйте проверку логина в методе isLoginValid по следующим правилам
* - метод должен вызывать метод validateLogin
* - если метод validateLogin не выбросил ошибку - вернуть true
* - если метод validateLogin выбросил ошибку - вернуть false