У меня есть рабочая регистрация в моем приложении, и следующий код является небольшой частью этого. Как вы можете видеть, существует множество требований для проверки пароля/имени пользователя.Требуется ввести пароль, чтобы иметь заглавную букву и номер?
Три из них похожи и не работают. Это три строки: upperCaseChars, lowerCaseChars и числа. Я попытался сделать это так, чтобы пароль должен содержать заглавную букву, строчную букву и номер перед тем, как вызвать «insertToDatabase».
Я искал по всему Интернету и не мог найти то, что искал. P.S: Я хочу добавить его так же, как другие требования в выражении if. Любой способ сделать это?
public void invokeRegister(View view) {
String name = editTextName.getText().toString();
String pass = editTextPass.getText().toString();
String pass2 = editTextPass2.getText().toString();
String upperCaseChars = "(.*[A-Z].*)";
String lowerCaseChars = "(.*[a-z].*)";
String numbers = "(.*[0-9].*)";
if (name.length() >= 4 && name.length() <= 12 && (pass.length() >= 6 && pass.length() <= 18 && (pass2.length() >= 0 && (pass.equals(pass2)) && pass.contains(upperCaseChars)))) {
insertToDatabase(name, pass);
Вы пытаетесь использовать 'String.matches', поскольку' String.contains' не использует регулярное выражение? –
Вы действительно хотите, чтобы максимальная длина пароля составляла 18? –
Еще в стадии тестирования. Вы считаете, что 18 слишком длинный? – Calis