2010-07-06 25 views
1

我有一個網頁,其中一個文本框用於接收美元價值。我的要求是用戶應該在$ sysmbol之後插入數字。第二個要求是用戶有權只插入這個$ 123.45。小數點前不應超過三位數,小數點後不應超過兩位數。請幫助我通過提供適當的正則表達式驗證此值..在此先感謝。

+1

是'12' $有效嗎? – Eric 2010-07-06 12:15:57

回答

2
\$\d{1,3}\.\d{1,2} 

\$\d{1,3}\.\d{2} 
如果要強制最後一個小數

有2個位數

3

嘗試:

\$\d{1,3}(\.\d{1,2})? 

\ $ =美元,逃脫,因爲它是一個特殊字符
\ d =一個數字; {1,3} = 1到3次重複
()? =可選組:
\。 =一個點(轉義) \ d {1,2} =一個或兩個數字

要播放正則表達式(並測試它們),您可以使用Expresso或類似工具。

+1

如果您不希望在貨幣使用後或之前有東西 ^ \ $ \ d {1,3}(\。\ d {1,2})?$ – Marks 2010-07-06 12:16:42

+0

$ .59不會是有效金額這個正則表達式。我知道我經常從一開始就下降0,如果我不得不把它放進去,我會很生氣。 – I82Much 2010-07-06 12:17:42

+0

@ I82Much:我認爲從這個問題看起來至少需要一位數字;順便說一下,我會很煩惱,必須把數額放在... – 2010-07-06 12:19:23