首页 课程 师资 教程 报名

Java正则校验密码

  • 2022-06-30 10:53:27
  • 2612次 动力节点

Java教程中大家会学到很多知识,Java正则表达式就是要学习的课程之一,那么,用Java正则校验密码要怎么做?动力节点小编来告诉大家。

1.要求包含大写小写数字标点符号四种字符

主要思路是:

(1)校验密码中一定包含大写、小写、数字和标点符号;

(2)且校验密码中一定不包含除大写、小写、数字和标点符号以外的字符

public boolean validatePassword(String password) {
        return Pattern.compile("[0-9]+").matcher(password).find() &&
                Pattern.compile("[a-z]+").matcher(password).find() &&
                Pattern.compile("[A-Z]+").matcher(password).find() &&
                Pattern.compile("[\p{Punct}]+").matcher(password).find() &&
                !Pattern.compile("[^0-9a-zA-Z\p{Punct}]+").matcher(password).find();
    }

代码中matcher(password).find()则是匹配密码是否含有符合前面正则表达式的字符,找到就返回true。最后一个表达式则是用了两个反逻辑,首先正则表达式中取反是表示要匹配其他字符,最前面的!则是表示找不到其他字符。那么校验符合上面两点,则表示密码一定包含四种字符且不包含其他字符。

2. 要求包含大写小写数字标点符号四种字符中的任意三种

思路:在上面基础上,判断每个表达式的值,例如为true则计数值加1,那么判断最终的计数值大于等于3即可。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交