仅允许正数或空白空间

时间:2015-12-18 09:35:30

标签: java regex validation input

我的要求是不允许用户在我的Java应用程序中输入负数。 我需要检查输入字段是完全为空还是只有正整数。

我拥有的是

/^[\s\d]*$/

3 个答案:

答案 0 :(得分:1)

这允许数字(整数)或根本没有数字(空)/^\d*$/没有任何符号,没有点。
你的正则表达式允许数字和空格交错。

答案 1 :(得分:0)

试试这个:

String str = "12 ";
boolean matches = str.matches("[\\p{Digit}\\s]+");
System.out.println("matches = " + matches);

结果是:

matches = true

答案 2 :(得分:0)

你可以试试这个:

    String inField = "1245"; 
    Pattern p = Pattern.compile("^(\\d*|\\s*)$");
    boolean isCorrect = p.matcher(inField).matches();
    System.out.println(isCorrect);

请参阅http://ideone.com/hwj5iV