需要验证用户输入的包含字母和数字的代码

时间:2019-05-08 07:01:11

标签: java validation

基本上,我希望用户输入这种格式的代码-XXXX000,如果用户输入3个字母和4个数字,则它会输出错误。

我所做的是,我写了一个命令,输入的最大字符数必须为7个,但没有指定字符的大小。因此,如果用户输入7位数字,则仍然接受,但不应接受。

System.out.print("Enter the animal's unique code - Format: (XXXX111)");
       String codein = in.nextLine();
       a.setCode(codein);

          if (codein.length() != 7) {
              System.out.println("Format was not met, please try again");
              System.out.println("Enter the animal's unique code - Format: (XXXX111)");
              codein = in.nextLine();
              a.setCode(codein);
        }

如果用户未以这种格式输入XXXX000,应该会出现错误

1 个答案:

答案 0 :(得分:2)

假设您的模式中X表示A-Z和a-z,0表示0-9,则可以使用此模式来验证代码:

[A-Za-z]{4}\d{3}

有关正则表达式的更多信息,请参见here

像这样使用它:

if (codeine.matches("[A-Za-z]{4}\\d{3}")) {
    // valid
} else {
    // invalid
}