Android 密码最小和最大字符数
我正在尝试在android应用程序中设置密码的最大字符数。最好的编码方式是什么?我只有最少6个字符,我想拥有最多10个字符的密码集。以下是我的尝试: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
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;