【发布时间】:2016-04-12 13:03:58
【问题描述】:
您好,我是 android 新手,在我的应用中我有 Validations for Change password 页面。
这意味着密码必须包含至少 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;
}
【问题讨论】:
-
也许这个答案会对你有所帮助:stackoverflow.com/questions/9962382/…
标签: android