我发现这个脚本对我来说是一个完美的解决方案,只需几行代码,而不必安装另一个插件来格式化数字。
$(document).on('keyup', "#importo", function (event) {
// skip for arrow keys
if (event.which >= 37 && event.which <= 40) return;
// format number
$(this).val(function (index, value) {
return value
.replace(/\D/g, '')
.replace(/\B(?=(\d{3})+(?!\d))/g, ".")
;
});
});
现在我遇到了问题,我需要脚本也允许负数。我该如何改变它?
请您参考如下方法:
也许您正在寻找这样的东西:
return value
.replace(/(?!^-)[^0-9]/g, "")
.replace(/\B(?=(\d{3})+(?!\d))/g, ".")
;
在第一次替换中,它会替换单词开头除数字和连字符之外的所有内容。我不知道这是否适合您的情况。