我有一个JQuery函数,用于在文本输入字段中显示数量。非常简单... 但是,这是一个法国的应用程序,我试图建立一个法国数字格式的正则表达式(空间为千位分隔符,逗号作为小数点分隔符)。如何为法语数字格式编写正则表达式? (空格为千位分隔符,逗号为小数点分隔符)
我已经尝试了几种方法......最后一次尝试是.replace(/(\d)(?=(?:\d{3})+(?:$))/g, '$1 ');
,但它没有空格作为千位分隔符,也没有逗号小数点分隔符。 在此先感谢您的帮助!
我有一个JQuery函数,用于在文本输入字段中显示数量。非常简单... 但是,这是一个法国的应用程序,我试图建立一个法国数字格式的正则表达式(空间为千位分隔符,逗号作为小数点分隔符)。如何为法语数字格式编写正则表达式? (空格为千位分隔符,逗号为小数点分隔符)
我已经尝试了几种方法......最后一次尝试是.replace(/(\d)(?=(?:\d{3})+(?:$))/g, '$1 ');
,但它没有空格作为千位分隔符,也没有逗号小数点分隔符。 在此先感谢您的帮助!
您可以反转字符串,然后尝试replace(/(\d{3})/g, "$1 ")
然后再次反转。这是一个jsFiddle。
注:在小提琴使用的reverse
方法是从this question。
UPDATE
您可能必须先打破字符串转换成整数和小数部分,进行上述改造,并用逗号把它重新结合在一起(如果需要)。它可能比你想要的更丑陋,但我想不出纯粹的正则表达式解决方案。我相应地更新了jsFiddle。
您可以举一个源/目标格式的例子,以便我们看到预期的行为? – 2012-08-12 13:20:08
当然Joachim! INPUT = 120500.55 OUTPUT = 120 500,55谢谢! – nadir 2012-08-12 13:55:48