金額的相關正規表達式 經常處理金額,對于輸入需要做驗證處理,下面給出正規表達式和解釋: javascritpt的應用:
var patrn=/^(-)?(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/;
if (!patrn.exec('-012312123.23')) { alert('false'); }else{ alert('true'); }
解讀/^(-)?(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/ ^表示以什麼開頭 我們這裡是 - ,後面的?是表示“-”出現一次或者零次 (([1-9]{1}\d*)|([0]{1})) 表示不以0開頭的數字組合或者僅出現一個0 (\.(\d){1,2})?表示小數點後兩位,出現0次或者一次 必須是大于0的金額正規表達式:
var patrn=/^(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/;
Java裡的應用: Pattern pattern = Pattern.compile("^(-)?(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){1,2})?$");
Matcher matcher = pattern.matcher("-0.11");
System.out.println(matcher.matches());