2012-10-01 48 views
0

我使用正則表達式做一個文本框允許與6位數字和小數點後兩位數字:千位分隔符在JavaScript中使用正則表達式

var regEx = /^\d{0,6}(,\d{0,2})?$/ 

現在,我想讓它讓同樣的事情但有一千個分隔符。例如:我想要1321,54是1.321,54。

謝謝。

+0

該數字的小數點左邊有六位數(如\ d {0,6}'所示)或六位數,包括小數點的右邊兩位? –

+2

請注意千位分隔符取決於文化;美國使用格式'123,456,789.123',而德國和法國等國使用'123.456.789,123',然後也有一些使用'123'456'789.123'的瑞士。 – Lucero

+0

您可能需要查看區域感知庫,而不是滾動自己的庫。也許這樣? http://code.google.com/p/jquery-numberformatter/ – dnagirl

回答

0

所以,你想要這個?

/^(\d{1,3}\.\d{3}|\d{0,6})(,\d{0,2})?$/ 

它只是增加了4位,5位或6位十進制數字在通常位置用點分隔的情況。

-1

請參閱number_format on PHPJS,瞭解PHP的number_format的JavaScript端口,它完全符合您的需求。

1

下面應該工作作爲一個正則表達式的解決方案:

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

注意,我做了千位分隔符可選的,如果你希望它是強制性的只是刪除?\.?結束。