温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样用java regex校验密码

发布时间:2026-10-04 20:52:14 来源:亿速云 阅读:92 作者:小樊 栏目:编程语言

在 Java 中,可以使用 正则表达式(regex) 来校验密码强度。下面按常见需求给你示例,从简单到严格,你可以按需选择或组合。


一、基本示例(Java 写法)

import java.util.regex.Pattern;

public class PasswordCheck {
    public static void main(String[] args) {
        String password = "Abc123!@";
        String regex = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*]).{8,}$";

        boolean ok = Pattern.matches(regex, password);
        System.out.println(ok);
    }
}

二、常见密码规则及对应正则

1️⃣ 至少 8 位

.{8,}

2️⃣ 包含小写字母

(?=.*[a-z])

3️⃣ 包含大写字母

(?=.*[A-Z])

4️⃣ 包含数字

(?=.*\\d)

5️⃣ 包含特殊字符

(?=.*[!@#$%^&*])

三、完整强密码校验(推荐)

✅ 8–20 位,含大小写、数字、特殊符号

String regex =
    "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*])[A-Za-z\\d!@#$%^&*]{8,20}$";

四、不同强度示例

✅ 中等强度(8位+字母+数字)

^(?=.*[A-Za-z])(?=.*\\d).{8,}$

✅ 简单强度(仅长度)

^.{6,}$

五、正则说明(重点)

  • ^:开头
  • $:结尾
  • (?=...):正向预查,不消耗字符
  • .*:任意字符
  • \\d:数字(Java 中需转义)

六、建议(工程实践)

✅ 不要只靠正则

  • 正则适合格式校验
  • 强度判断可配合:
    • 密码历史
    • 常见弱密码库
    • 暴力破解限制

如果你有具体规则(比如:不允许连续字符、不能含用户名、必须 12 位以上),告诉我,我可以帮你写精准正则。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手