密码检查器Java
如果字符串是有效密码,则编写函数返回 它必须至少有8个字符长,并且只能由 字母和数字的组合 这是我目前的代码:密码检查器Java,java,Java,如果字符串是有效密码,则编写函数返回 它必须至少有8个字符长,并且只能由 字母和数字的组合 这是我目前的代码: for (int i = 1; i < password.length() -1; i++) { char l = password.charAt(i); if (password.length() < 8 && !Character.isLetter(l) || !Character.isDigit(l)) {
for (int i = 1; i < password.length() -1; i++)
{
char l = password.charAt(i);
if (password.length() < 8 && !Character.isLetter(l) || !Character.isDigit(l))
{
return false;
}
}
return true;
for(int i=1;i
您可以使用正则表达式来执行此操作
private static boolean isPasswordValid(String password) {
return password.matches("(\\w+){8,}");
}
为什么从1开始?您将错过索引0处的第一个字母。问题是什么?您不需要重复检查循环中的长度。你需要有
!伊斯兰特&!isDigit
(注意和)。此外,您还将其标记为Java和JavaScript。Java和JavaScript根本不是一回事。这是Java。一般的建议是使用String
作为密码不利于安全性;改用char[]
array。但是对于一个编程练习来说,它是可以的。\w
匹配字母、数字和下划线。啊,是的,很好的一点,更改为更严格,这是正确的。备选方案:“\p{Alnum}{8,}”
。
private static boolean isPasswordValid(String password) {
return password.matches("(\\w+){8,}");
}