当前位置: 首页 > article >正文

java使用正则表达式校验字符串pwd,是否符合包含大写小写数字特殊字符长度超过8位

在Java中,你可以使用正则表达式来校验一个字符串(例如密码)是否符合特定的要求,比如包含大写字母、小写字母、数字和特殊字符,并且长度超过8位。以下是一个示例代码,展示了如何使用正则表达式来校验这样的密码:

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class PasswordValidator {

    // 定义正则表达式,要求包含大写字母、小写字母、数字和特殊字符,且长度至少为9位(因为要求超过8位)
    private static final String PASSWORD_PATTERN = 
        "^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{9,}$";

    private static final Pattern pattern = Pattern.compile(PASSWORD_PATTERN);

    // 校验密码是否符合要求
    public static boolean validate(final String password) {
        Matcher matcher = pattern.matcher(password);
        return matcher.matches();
    }

    public static void main(String[] args) {
        // 测试密码
        String pwd = "Abc123!@#"; // 你可以修改这个密码来测试不同的输入

        if (validate(pwd)) {
            System.out.println("密码符合要求");
        } else {
            System.out.println("密码不符合要求");
        }
    }
}

在这个示例中,PASSWORD_PATTERN 是定义的正则表达式,它确保了密码:

  • 包含至少一个大写字母((?=.*[A-Z])
  • 包含至少一个小写字母((?=.*[a-z])
  • 包含至少一个数字((?=.*\\d)
  • 包含至少一个特殊字符(这里示例为 @$!%*?&,你可以根据需要调整)((?=.*[@$!%*?&])
  • 长度至少为9位(因为要求超过8位,所以设置为 {9,}

validate 方法接受一个字符串作为参数,并使用 PatternMatcher 类来检查该字符串是否符合正则表达式定义的模式。如果匹配成功,则返回 true,否则返回 false

main 方法中,我们测试了一个示例密码,并根据校验结果输出相应的消息。你可以修改 pwd 变量的值来测试不同的密码输入。


http://www.kler.cn/news/367540.html

相关文章:

  • C语言[求x的y次方]
  • Unity插件-Intense TPS 讲解
  • 智慧农业大数据平台:智汇田园,数驭未来
  • RISC-V笔记——显式同步
  • Pr 视频效果:波形变形
  • 传输层UDP
  • Codeforces Round 981 (Div. 3) A - E 详细题解(C++)
  • maven分模块设计与私服
  • 如何用mmclassification训练多标签多分类数据
  • 如何理解前端与后端开发
  • entwine 和 conda环境下 使用和踩坑 详细步骤! 已解决
  • uptime kuma拨测系统
  • 身份证归属地查询接口-在线身份证归属地查询-身份证归属地查询API
  • 论文略读:Less is More: on the Over-Globalizing Problem in Graph Transformers
  • 2FA-双因素认证
  • 基于Python的智能求职分析系统
  • python 使用 企微机器人发送消息
  • 安全日志记录的重要性
  • 今天不分享技术,分享秋天的故事
  • Spring Boot框架下的厨艺社区开发
  • ALLO数据集:首个为月球轨道机器人近距离操作设计的异常检测基准开源数据集。
  • 安全知识见闻-脚本语言对与安全的重要性
  • Spring Boot驱动的厨艺分享社区开发
  • 5G工业路由器智能电网部署实录:一天内解决供电、网络
  • 手机在网状态查询接口-在线手机在网状态查询-手机在网状态查询API
  • vue2 关于组件