2010-07-28 14 views
0

有人可以請幫我組成一個正則表達式來檢查貨幣字符串是在一個特定的格式 - 「」 300.00檢查貨幣字段只包含1句號

它可以同時之前和之後,只有數字。然而,我只想要一個'。'的發生。

因此300.00。或300.0.0無效。

問候

回答

2
^[0-9]+\.?[0-9]*$ 

這意味着,串(^)的開始,一個或多個數字([0-9]+),可選週期(\.?),則0或多個數字,則該字符串的結尾。您可以根據需要修改它,例如允許以期開始的字符串(第一+更改爲*)或使期強制性的(除去?)。

+0

非常感謝這一點。 – Kojof 2010-07-28 05:14:35

1

我想這會做到這一點:^\d+\.\d+$

這將匹配由一個或多個數字組成的字符串,只有一個,和一個或多個數字「」。

2

如果你想表示一個字符串,它是貨幣完全正確,那麼你很可能要像^\d+\.\d{2}$,因爲你通常代表着具有2個小數點貨幣。如果你不挑剔的話^\d+\.\d+$將匹配任何小數位數或^\d+\.?\d*$將匹配整個號碼以及號碼與任何的小數位數。

1

使用此正則表達式匹配 -

^\d+\.\d+$ 
1

每@馬修的答案,你可能想在字符串的開始和結束(所以^和分別爲$)以固定的正則表達式。每@eldarerathis你可能想在小數點後限制位數。您可能還想在前面放置可選的$符號;你可能希望允許用戶完全放棄之分的組成部分。所以:

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

這是

 
^   start of string 
\$?  optional dollar sign 
\d+  at least 1 digit. 
(\.\d\d)? optional decimal point followed by exactly two digits 
      (you could use \d{2} here as well) 
$   end of string