写一段java代码 校验密码设置为8-20位,并且由字母,数字和符号两种以上组合
时间: 2024-03-10 16:43:42 浏览: 20
好的,以下是一个简单的 Java 方法来校验密码:
```java
public static boolean validatePassword(String password) {
// 校验密码长度
if (password.length() < 8 || password.length() > 20) {
return false;
}
// 标记是否包含字母、数字、符号
boolean hasLetter = false;
boolean hasDigit = false;
boolean hasSymbol = false;
// 校验密码是否包含字母、数字、符号
for (char c : password.toCharArray()) {
if (Character.isLetter(c)) {
hasLetter = true;
} else if (Character.isDigit(c)) {
hasDigit = true;
} else if (!Character.isWhitespace(c)) {
hasSymbol = true;
}
}
// 判断是否符合要求
return hasLetter && hasDigit && hasSymbol;
}
```
使用方法:
```java
boolean isValid = validatePassword("MyP@55w0rd");
if (isValid) {
System.out.println("密码符合要求");
} else {
System.out.println("密码不符合要求");
}
```
这段代码会返回 `true` 如果密码符合要求,否则返回 `false`。注意,这段代码并不会记录或传输密码,仅用于校验。