【发布时间】:2013-09-02 00:55:50
【问题描述】:
我在 * 上找到了一个正则表达式来添加“,”或“。”在每三个数字之后,具体取决于您的语言。
(\d)(?=(\d\d\d)+(?!\d))
问题是当我们到达小数点时也会发生这种情况,例如:
5487445.46878
使用以下代码(和正则表达式)的结果是:
return number.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
结果:
5,487,445.46,878
根据您的语言转换数字时,我正在使用此正则表达式。例如,在荷兰语中,逗号用作分隔符,因此我执行以下操作:
return number.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1.")
这会导致
5.487.445,46.878
这些当然需要变成:
5,487,445.46878
和
5.487.445,4687
有人知道我需要在哪里更新正则表达式以忽略小数点吗?
【问题讨论】:
-
既然你用 jQuery 标记了这个,我建议使用plugins.jquery.com/df-number-format
-
1-up 对于我还没有找到的有趣建议。我想我可以使用它并将其与我所拥有的合并,因为您的建议不支持不同的语言。