我正在尝试为我的输入做一个货币格式,我想用千位分隔符(“,”)和小数自动格式化;我尝试了几个插件,但它们对我不起作用。
function addCommas(nStr) {
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
这给我添加了逗号,但仅适用于千位的第一个单位:(
这个例子在这里有效,但是在模糊事件上,我如何在 keyup 事件上运行它。
$("#number").keyup(function() {
this.value = parseFloat(this.value.replace(/,/g, ""))
.toFixed(2)
.toString()
.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
});
例如,如果您有:
所以使用 JQuery 1:
* 参见JSFiddle。
成绩
今天,大多数现代浏览器都支持Intl.NumberFormat,它可以帮助我们格式化数字,而无需使用正则表达式或 jQuery 特定的函数。
要将逗号显示为千位分隔符,请按如下方式使用
对于这种情况,我使用jquery.maskedinput.min.js一个插件来格式化输入的输入
一个简单的例子是
除了数字之外,它还允许您格式化更多输入数据。
在 mask 函数中使用 jQuery jquery.maskedinput.min.js,你给它你希望输入的格式
在这里我给你留下一个函数
javascript
,它允许你根据给定的掩码格式化一个数字,此外该函数允许你处理公式。