让用户只输入数字或A-Z?

时间:2016-06-02 12:52:02

标签: java

$result='[
    {
        "user": "1",
        "points": "13"
    },
    {
        "user": "2",
        "points": "2"
    },
    {
        "user": "3",
        "points": "4"
    },
    {
        "user": "4",
        "points": "4"
    },
    {
        "user": "5",
        "points": "12"
    }
]';

如何让用户只输入A-Z中的数字或字母?

2 个答案:

答案 0 :(得分:0)

在while循环中包装每个部分。重复询问用户输入,直到他们输入有效信息。

do
{
    System.out.print("Enter Part#: ");
    pa[count] = sc1.nextLine();
}
while(checkAlpha(pa[count]) == false);

然后创建一个函数来检查字符串中的每个值是否有效。

public static boolean checkAlpha(String phrase)
{
    char[] tempChars = phrase.toCharArray();
    for(char c : tempChars)
    {
        if(!Character.isLetterOrDigit(c))
        {
            return false;
        }
    }
    return true;
}

您还可以通过将while检查更改为:

来使用正则表达式执行此操作
while(!pa[count].matches("^[a-zA-Z0-9]+$"));

答案 1 :(得分:0)

如果使用Pattern类来构建匹配器,则应该只能使用模式[^\\p{Alnum}],然后调用find()方法来查找任何匹配的实例。图案。