0.01
0.12
1.00
1.12
12.00
12.34
但不是:
0
0.00
.00
.12
爲了得到這不可能是零價值。
我寫了這個正則表達式: /(^\d{1,}\.\d{2}$)|(^\d{1,}$)/
但是它匹配:
0
0.00
,我想消除。
我也試過排除規則,如^(?!0)(?!0\.00)\d{1,}\.\d{2}|\d+$
但沒有成功。
0.01
0.12
1.00
1.12
12.00
12.34
但不是:
0
0.00
.00
.12
爲了得到這不可能是零價值。
我寫了這個正則表達式: /(^\d{1,}\.\d{2}$)|(^\d{1,}$)/
但是它匹配:
0
0.00
,我想消除。
我也試過排除規則,如^(?!0)(?!0\.00)\d{1,}\.\d{2}|\d+$
但沒有成功。
要匹配帶有小數點2位的值,但不爲0:
^(?![.0]*$)\d+\.\d{2}$
負lookahead檢查,如果字符串不包括僅0
和.
\d+\.\d{2}
確保所需格式:One or more數字後跟.
後跟2位數字。
Test at regex101.com(見右側說明)
中,也允許1
,2.2
最後部分更改爲\.\d{1,2}
,並使其可選:
^(?![.0]*$)\d+(?:\.\d{1,2})?$
(?=.*?[1-9])(^\d+\.\d{2}$)|(?=.*?[1-9])(^\d{1,}$)
嘗試this.Just添加(?=.*?[1-9])
否定0
。看到演示。
不錯!!!!!!!!!!!!!!!! 1 – vks 2014-10-09 13:40:55
撤銷我接受的答案。這是很好的,因爲@ vks陳述 – 2014-10-09 13:49:57
很高興它適合你:)和@ vks高興你喜歡它! – 2014-10-09 13:51:10