天天看點

Java判斷是不是數字

  • 正則判斷條件:
  1. 數字:

    ^[0-9]*$

  2. n位的數字:

    ^\d{n}$

  3. 至少n位的數字:

    ^\d{n,}$

  4. m-n位的數字:

    ^\d{m,n}$

  5. 零和非零開頭的數字:

    ^(0|[1-9][0-9]*)$

  6. 非零開頭的最多帶兩位小數的數字:

    ^([1-9][0-9]*)+(.[0-9]{1,2})?$

  7. 帶1-2位小數的正數或負數:

    ^(\-)?\d+(\.\d{1,2})?$

  8. 正數、負數、和小數:

    ^(\-|\+)?\d+(\.\d+)?$

  9. 有兩位小數的正實數:

    ^[0-9]+(.[0-9]{2})?$

  10. 有1~3位小數的正實數:

    ^[0-9]+(.[0-9]{1,3})?$

  11. 非零的正整數:

    ^[1-9]\d*$

    ^([1-9][0-9]*){1,3}$

    ^\+?[1-9][0-9]*$

  12. 非零的負整數:

    ^\-[1-9][]0-9"*$

    ^-[1-9]\d*$

  13. 非負整數:

    ^\d+$

    ^[1-9]\d*|0$

  14. 非正整數:

    ^-[1-9]\d*|0$

    ^((-\d+)|(0+))$

  15. 非負浮點數:

    ^\d+(\.\d+)?$

    ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$

  16. 非正浮點數:

    ^((-\d+(\.\d+)?)|(0+(\.0+)?))$

    ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$

  17. 正浮點數:

    ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$

    ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

  18. 負浮點數:

    ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$

    ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

  19. 浮點數:

    ^(-?\d+)(\.\d+)?$

    ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

  • 代碼:
    /**
      * 判斷是不是數字
      * @param unknownNum
      * @return 是或不是數字
      */
      public boolean isNumeric(String unknownNum){
      	Pattern pattern = Pattern.compile("[0-9]+");
      	Matcher isNum = pattern.matcher(unknownNum);
      	if( !isNum.matches() ){
      		return false;
      	}
      	return true;
      }