带有特殊字符的java密码检查器

Posted

技术标签:

【中文标题】带有特殊字符的java密码检查器【英文标题】:java password checker with special characters 【发布时间】:2022-01-02 08:25:02 【问题描述】:

我对 Java 很陌生,所以请多多包涵。 我的任务: 要求用户输入密码并写下一条消息,说明它是否可以接受。密码要求:

    密码长度至少为 8 个字符 它有大写和小写字母 至少一个字母后跟一个数字 它有一个特殊字符 $#?!_-=%

我现在真的不知道在 3 号和 4 号上该做什么。我读过一些关于正则表达式的东西,但我们甚至在课堂上都没有。还有其他可能的方法吗?

【问题讨论】:

你写过代码吗? 它是regex(代表正则表达式),您并不需要它。这基本上是一个 for 循环、用户输入和一些 if 语句。 【参考方案1】:

对于数字 3,您可以使用循环。在其中,您可以通过 isLetter() 方法捕获每个字母,然后通过 isDigit() 方法检查数组的以下元素

boolean isLetterFollowedByNumber;
for (int[] a : nameOfYourArray) 
    if (Character.isLetter(array[i]) && Character.isLetter(array[i])) 
        isLetterFollowedByNumber = true;
    

对于数字 4,您可以将 char 数组的每个元素与特殊字符进行比较

boolean hasCharacter;
for (int[] a : nameOfYourArray) 
    if (a == '$' || a == '#' || a == '?' || a == '!' || a == '_'- || a == '=' || a == '%') 
        hasCharacter = true;
    

我的两个示例都包含 for-each 循环,但您也可以使用 for 循环。祝你任务顺利!

【讨论】:

以上是关于带有特殊字符的java密码检查器的主要内容,如果未能解决你的问题,请参考以下文章

SQLPlus:在脚本中使用特殊字符作为密码

netcore 磊科无线路由为何不支持密码带有特殊字符?

创建密码带有特殊字符的dblink

带有大写,小写,数字和特殊字符的复杂密码的正则表达式(Python)

在python中识别密码验证中的特殊字符

如果我想使用 char 检查 Java 中的特殊字符怎么办?