gpt4 book ai didi

android - 如何验证android中的密码字段?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:52:43 24 4
gpt4 key购买 nike

您好,我是 Android 的新手,在我的应用程序中,我有更改密码页面的验证。

这意味着密码必须至少包含 8 个字符,至少 1 个字母、1 个数字和 1 个特殊字符,为此我尝试了下面的代码,但它不起作用。

请帮帮我。

if(!isPasswordValidMethod(newPassword.getText().toString())){
System.out.println("Not Valid");

}else{

System.out.println("Valid");
}



// Validate password
private boolean isPasswordValidMethod(String password) {

String yourString = newPassword.getText().toString();

System.out.println("yourString is =" + yourString);

boolean isValid = false;

// ^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$
// ^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$

String expression = "^(?=.*[A-Za-z])(?=.*\\\\d)(?=.*[$@$!%*#?&])[A-Za-z\\\\d$@$!%*#?&]{8,}$";
CharSequence inputStr = password;

Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
if (matcher.matches()) {
System.out.println("if");
isValid = true;
}else{
System.out.println("else");
}
return isValid;
}

最佳答案

尝试下面的代码

 //*****************************************************************
public static boolean isValidPassword(final String password) {

Pattern pattern;
Matcher matcher;
final String PASSWORD_PATTERN = "^(?=.*[0-9])(?=.*[A-Z])(?=.*[@#$%^&+=!])(?=\\S+$).{4,}$";
pattern = Pattern.compile(PASSWORD_PATTERN);
matcher = pattern.matcher(password);

return matcher.matches();

}

然后把你的代码改成这样

   if(newPassword.getText().toString().length()<8 &&!isValidPassword(newPassword.getText().toString())){
System.out.println("Not Valid");
}else{
System.out.println("Valid");
}

关于android - 如何验证android中的密码字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36574183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com