我使用正则表达式做一个文本框允许与6位数字和小数点后两位数字:千位分隔符在JavaScript中使用正则表达式
var regEx = /^\d{0,6}(,\d{0,2})?$/
现在,我想让它让同样的事情但有一千个分隔符。例如:我想要1321,54是1.321,54。
谢谢。
我使用正则表达式做一个文本框允许与6位数字和小数点后两位数字:千位分隔符在JavaScript中使用正则表达式
var regEx = /^\d{0,6}(,\d{0,2})?$/
现在,我想让它让同样的事情但有一千个分隔符。例如:我想要1321,54是1.321,54。
谢谢。
所以,你想要这个?
/^(\d{1,3}\.\d{3}|\d{0,6})(,\d{0,2})?$/
它只是增加了4位,5位或6位十进制数字在通常位置用点分隔的情况。
请参阅number_format
on PHPJS,了解PHP的number_format
的JavaScript端口,它完全符合您的需求。
下面应该工作作为一个正则表达式的解决方案:
/^\d{1,3}(\.?\d{3})?(,\d{0,2})?$/
注意,我做了千位分隔符可选的,如果你希望它是强制性的只是删除?
在\.?
结束。
该数字的小数点左边有六位数(如\ d {0,6}'所示)或六位数,包括小数点的右边两位? –
请注意千位分隔符取决于文化;美国使用格式'123,456,789.123',而德国和法国等国使用'123.456.789,123',然后也有一些使用'123'456'789.123'的瑞士。 – Lucero
您可能需要查看区域感知库,而不是滚动自己的库。也许这样? http://code.google.com/p/jquery-numberformatter/ – dnagirl