Android 密码最小和最大字符数

Android 密码最小和最大字符数,android,if-statement,passwords,Android,If Statement,Passwords,我正在尝试在android应用程序中设置密码的最大字符数。最好的编码方式是什么?我只有最少6个字符,我想拥有最多10个字符的密码集。以下是我的尝试: public void UserSignUp() { if(ET_PASSWORD_SIGNUP.getText().length() >0 && ET_CONFIRM_PASSWORD_SIGNUP.getText().length() >0 && ET_PASSWOR

我正在尝试在android应用程序中设置密码的最大字符数。最好的编码方式是什么?我只有最少6个字符,我想拥有最多10个字符的密码集。以下是我的尝试:

 public void UserSignUp() {
    if(ET_PASSWORD_SIGNUP.getText().length() >0 && ET_CONFIRM_PASSWORD_SIGNUP.getText().length() >0 &&
            ET_PASSWORD_SIGNUP.getText().length() >5 && ET_CONFIRM_PASSWORD_SIGNUP.getText().length() >5)
    {
        if(ET_PASSWORD_SIGNUP.getText().toString().equals(ET_CONFIRM_PASSWORD_SIGNUP.getText().toString())) {
        String SignUpResult = "";
        db = DBMANAGER.getWritableDatabase();
        SignUpResult = CONTENTMANAGER.saveUserPassword(ET_PASSWORD_SIGNUP.getText().toString(),this);
        Toast.makeText(getApplicationContext(), SignUpResult, Toast.LENGTH_SHORT).show();
         ActivityLogIn();
        } else {
            Toast.makeText(getApplicationContext(), "Confirm Password and Password did not match!",
                    Toast.LENGTH_SHORT).show();
        }
    } else {
        Toast.makeText(getApplicationContext(), "Invalid Input", Toast.LENGTH_SHORT).show();
    }
}
private boolean checkPW(字符串pw,字符串pw2){
如果(!pw.等于(pw2)){
Toast.makeText(getActivity(),getActivity().getResources().getString(R.string.error_pws_do_not_match),Toast.LENGTH_LONG.show();
返回false;
}
如果(pw.length()<4){
Toast.makeText(getActivity(),getActivity().getResources().getString(R.string.error_pw_too_short),Toast.LENGTH_LONG.show();
返回false;
}
如果(pw.length()>10){
Toast.makeText(getActivity(),getActivity().getResources().getString(R.string.error_pw_too_long),Toast.LENGTH_long.show();
返回false;
}
//继续这里
返回true;
}
});
}
检查此代码

if (ET_PASSWORD_SIGNUP.getText().toString().length() < 6
            || ET_PASSWORD_SIGNUP.getText().toString().length() > 10) {

        ET_PASSWORD_SIGNUP.requestFocus();
        ET_PASSWORD_SIGNUP.setError("Password should be between 6 to 10 characters long");
}
if(ET\u PASSWORD\u SIGNUP.getText().toString().length()<6
||ET_PASSWORD_SIGNUP.getText().toString().length()>10){
ET_PASSWORD_SIGNUP.requestFocus();
ET_PASSWORD_SIGNUP.setError(“密码长度应在6到10个字符之间”);
}

您可以编写以下代码:

// check password
public boolean checkPassword(String password, String confirmPassword) {
    boolean state = false;

    int passLength = password.length();
    if (passLength >= 6) {
        if (confirmPassword.length() != 0) {
            if (password.equals(confirmPassword)) {
                state = true;
            } else {
                makeToast("Password does't match!");
                inputConfirmPassword.setText("");
                inputPassword.setText("");
                inputPassword.requestFocus();
            }
        } else {
            Toast.makeText(this, "Please enter confirm password",
                    Toast.LENGTH_SHORT).show();
            inputConfirmPassword.setText("");
            inputConfirmPassword.requestFocus();
            state = false;
        }
    } else {
        Toast.makeText(this, "Please enter 6 digit password",
                Toast.LENGTH_SHORT).show();
        inputPassword.setText("");
        inputPassword.requestFocus();
        state = false;
    }
    return state;
}

不是这样的答案,而是另一个解决方案

看一看,漂亮的注释库

您可以注释您的密码字段,它将为您处理逻辑

@Password(order = 1, minLength = 4, maxLength = 10)
private EditText passwordEditText;

@ConfirmPassword(order = 2)
private EditText confirmPasswordEditText;

这个图书馆现在甚至没有维护。不过我喜欢这个概念。您只需要编写用于验证的注释,并根据您的需求向其传递参数,或者跳过它。
@Password(order = 1, minLength = 4, maxLength = 10)
private EditText passwordEditText;

@ConfirmPassword(order = 2)
private EditText confirmPasswordEditText;