Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个在文本输入字段中显示金额的 JQuery 函数。非常简单......但是这是一个法语应用程序,我正在尝试为法语数字格式构建一个正则表达式(空格作为千位分隔符,逗号作为小数分隔符)。
我尝试了几种方法......最后一次尝试是,.replace(/(\d)(?=(?:\d{3})+(?:$))/g, '$1 ');但它没有作为千位分隔符提供空格,也没有逗号小数分隔符。提前感谢您的帮助!
.replace(/(\d)(?=(?:\d{3})+(?:$))/g, '$1 ');
您可以反转字符串,然后尝试replace(/(\d{3})/g, "$1 ")然后再次反转。这是一个jsFiddle。
replace(/(\d{3})/g, "$1 ")
注意:reverse小提琴中使用的方法来自这个问题。
reverse
更新
您可能必须首先将字符串分成整数和小数部分,执行上述转换,然后用逗号将其重新组合在一起(如有必要)。它可能比你要找的更丑,但我想不出一个纯粹的正则表达式解决方案。我已经相应地更新了 jsFiddle。