java
import java.util.regex.Pattern;
public class PasswordUtil {
// 密码正则规则:必须包含 数字+大写+小写+特殊字符,长度8-30位
private static final String PWD_REGEX =
"(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}";
/**
* 校验密码是否符合规则
* @param password 待校验密码
* @return true=符合,false=不符合
*/
public static boolean checkPassword(String password) {
if (password == null || password.isEmpty()) {
return false;
}
return Pattern.matches(PWD_REGEX, password);
}
// 测试
public static void main(String[] args) {
System.out.println(checkPassword("88888aaa")); // false
System.out.println(checkPassword("Aa123456!")); // true
}
}
C#
public static bool IsLongPass(string password)
{
var regex = new Regex(@"
(?=.*[0-9]) #必须包含数字
(?=.*[a-z]) #必须包含小写字母
(?=.*[A-Z]) #必须包含大写字母
(?=([\x21-\x7e]+)[^a-zA-Z0-9]) #必须包含特殊符号
.{8,20} #至少8个字符,最多20个字符
", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
//校验密码是否符合
return regex.IsMatch(password);
}
js
// 正确正则:必须包含 数字 + 大写字母 + 小写字母 + 特殊字符,长度8-30
var regex = new RegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}');
// 测试用例(必须满足四项)
if (!regex.test("Aa123456!")) {
alert("密码强度不够。必须包含:大写字母、小写字母、数字、特殊字符,长度8-30");
} else {
alert("密码符合要求");
}