2015-12-18 99 views
3

我的要求是不允許用戶在我的Java應用程序中輸入負數。 我需要檢查輸入字段是完全空的還是隻有正整數。只允許正數或空格

什麼我是

/^[\s\d]*$/ 
+0

你能提供您檢索數據的方式嗎?我懷疑正則表達式不是實現此目的的最佳方式。 – miraclefoxx

回答

0

試試這個:

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

,其結果是:

matches = true 
1

這使得數字(整數)或根本沒有數字(空)/^\d*$/沒有跡象,沒有點。
你的正則表達式允許交錯的數字和空格。

0

你可以試試這個:

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

看到http://ideone.com/hwj5iV

相關問題