我发现这个脚本对我来说是一个完美的解决方案,只需几行代码,而不必安装另一个插件来格式化数字。

$(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, ".") 
    ; 

在第一次替换中,它会替换单词开头除数字和连字符之外的所有内容。我不知道这是否适合您的情况。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!