- 正則判斷條件:
- 數字:
^[0-9]*$
- n位的數字:
^\d{n}$
- 至少n位的數字:
^\d{n,}$
- m-n位的數字:
^\d{m,n}$
- 零和非零開頭的數字:
^(0|[1-9][0-9]*)$
- 非零開頭的最多帶兩位小數的數字:
^([1-9][0-9]*)+(.[0-9]{1,2})?$
- 帶1-2位小數的正數或負數:
^(\-)?\d+(\.\d{1,2})?$
- 正數、負數、和小數:
^(\-|\+)?\d+(\.\d+)?$
- 有兩位小數的正實數:
^[0-9]+(.[0-9]{2})?$
- 有1~3位小數的正實數:
^[0-9]+(.[0-9]{1,3})?$
- 非零的正整數:
或^[1-9]\d*$
或^([1-9][0-9]*){1,3}$
^\+?[1-9][0-9]*$
- 非零的負整數:
或^\-[1-9][]0-9"*$
^-[1-9]\d*$
- 非負整數:
或^\d+$
^[1-9]\d*|0$
- 非正整數:
或^-[1-9]\d*|0$
^((-\d+)|(0+))$
- 非負浮點數:
或^\d+(\.\d+)?$
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
- 非正浮點數:
或^((-\d+(\.\d+)?)|(0+(\.0+)?))$
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
- 正浮點數:
或^[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]*))$
- 負浮點數:
或^-([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]*)))$
- 浮點數:
或^(-?\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; }