java正则检验密码强度
时间: 2024-12-28 11:09:30 浏览: 2
在Java中,正则表达式常常用于验证密码的强度。一个好的密码通常需要满足一些基本条件,比如长度、包含字母、数字、特殊字符等。以下是一个简单的例子,展示如何使用正则表达式检查一个密码:
```java
import java.util.regex.Pattern;
public class PasswordStrengthCheck {
private static final String PASSWORD_PATTERN = "^(?=.*[a-zA-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$";
public static boolean isPasswordStrong(String password) {
Pattern pattern = Pattern.compile(PASSWORD_PATTERN);
return pattern.matcher(password).matches();
}
public static void main(String[] args) {
System.out.println(isPasswordStrong("MySecureP@ssword123")); // 输出:true
System.out.println(isPasswordStrong("WeakPass")); // 输出:false
}
}
```
在这个例子中,`PASSWORD_PATTERN`定义了一个正则表达式规则,它包括:
- 至少一个大写字母(`[A-Z]`)
- 至少一个小写字母(`[a-z]`)
- 至少一个数字(`\d`)
- 至少一个特殊字符(`[@$!%*?&]`)
- 密码长度至少8位(`.{8,}`)
阅读全文