当前位置: 首页 > 面试题库 >

如何检查Java字符串是否至少包含一个大写字母,小写字母和数字?

柯浩壤
2023-03-14
问题内容

我知道我可以使用一系列遍历字符串的for循环来做到这一点,但这将是糟糕的编程。好吧,我的教授更喜欢我不这样做。我想使用正则表达式来做到这一点。


问题答案:

对于简单的字符串检查,一次扫过字符串就足够了。由于Regex不会提供任何明显的好处,因此这里有一个简单的for循环可实现相同的目的:

private static boolean checkString(String str) {
    char ch;
    boolean capitalFlag = false;
    boolean lowerCaseFlag = false;
    boolean numberFlag = false;
    for(int i=0;i < str.length();i++) {
        ch = str.charAt(i);
        if( Character.isDigit(ch)) {
            numberFlag = true;
        }
        else if (Character.isUpperCase(ch)) {
            capitalFlag = true;
        } else if (Character.isLowerCase(ch)) {
            lowerCaseFlag = true;
        }
        if(numberFlag && capitalFlag && lowerCaseFlag)
            return true;
    }
    return false;
}

测试运行:

System.out.println(checkString("aBCd1")); // output is true
System.out.println(checkString("abcd")); //output is false

我认为这应该有助于OP的特定问题。



 类似资料:
  • 问题内容: 我一直在谷歌搜索很多,但没有找到我的问题的答案: 如何使用正则表达式检查字符串是否至少包含以下各项之一: 大写字母 小写字母 数字 特殊字符: !@#$%^&*()-_=+|[{]};:’“,<.>/?` 所以,我至少需要一个大写字母 和 至少一个小写字母 和 至少一个数字 和 至少一个特殊字符。 我敢肯定答案很简单,但是我找不到。任何帮助是极大的赞赏。 问题答案: 尽管我个人会使用M

  • 问题内容: 我想要这样一个验证,即“我的字符串”必须至少包含一个字母。 我正在使用以下内容: 即使在我的字符串中,标志也会给我 问题答案: 您想要的正则表达式是,但是您需要使用方法。 此页面将让您根据输入测试正则表达式。 正则表达式测试页 这里有一个Java正则表达式教程。 Java正则表达式教程

  • 我需要这样的验证,我的字符串必须至少包含一个字母表。 我正在使用以下内容: 即使字符串中有a,flag也会给我提供false

  • 大家好,我正在努力找出如何检查“我的edittext”值是否包含字母和数字,如果用户输入例如“JDF23D”告诉他们删除数字,我会显示一个snackbar,但我的错误是不管它保留在那里,否则你会建议什么?

  • 我需要这样一种验证,即我的字符串必须至少包含一个Unicode字母。将评估角色的角色。isLetter()为true。 比如说我要 我知道我可以使用角色循环。isLetter(),但我只是不想这么做。 这和这个完全不同,因为它只检查英文字母,但在我的例子中是一个Unicode字母。这根本不一样。

  • 问题内容: 如何知道该字符串包含至少2个大写字母?例如, 这些是有效的字符串“ Lazy Cat”,“ NOt very lazy cat”。使用Java 1.7。 问题答案: 尝试使用以下正则表达式: or