密码检查程序 - 检查大写字母,小写字母,数字和特殊字符

时间:2015-11-27 22:29:48

标签: java passwords verify

我的作业要求我创建一个密码检查程序。

密码必须至少为8个字符,包含大写和小写字母,数字和特殊字符。

我相信我已接近解决这个问题,但我的技能仍在发展中,而且我已经碰壁了。

{{1}}

2 个答案:

答案 0 :(得分:3)

为了检查这样的事情:

public static boolean validPassword(String password){
        boolean upCase = false;
        boolean loCase = false;
        boolean isDigit = false;
        boolean spChar = false;
     if (password.length()>7){
          if (password.matches(".+[A-Z].+")){
              upCase = true;
          }
          if (password.matches(".+[a-z].+")){
              loCase = true;
          }
          if (password.matches(".+[1-9].+")){
              isDigit = true;
          }
          if (SPECIAL_CHARACTERS.contains(password)){
               spChar = true;
          }
     }
  return (upCase && loCase && isDigit && spChar);
} 

答案 1 :(得分:0)

通过更改

解决

if(SPECIAL_CHARACTERS.contains(password)){                spChar = true;

if(SPECIAL_CHARACTERS.contains(password.substring(i,i + 1))){                     spChar = true;

这将检查字符串中的字符串。

另外,我删除了" - 1"从我的声明,以便限制是纠正。还删除了SPECIAL_CHARACTERS常量中的逗号。

该程序现在运行没有问题,感谢大家的建议。