javascript - Jquery在数字中添加逗号

标签 javascript jquery

我有一个包含数字的文本框,每次我添加数字时,它都会格式化我的数字,添加逗号“onblur”事件,效果很好。但是当我在数字已经格式化的情况下添加一个数字时,逗号不在正确的位置并且有时会添加一个零。如果我添加 1000000 其格式为 1,000,000 但如果我添加或编辑 1,000,0002 其最终结果是1,000,0,002。

JQUERY

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;
}

$("#mytextbox").blur(function(){
        this.value = addCommas(this.value.replace(',', ''));
    });

最佳答案

replace(',', '') 仅将第一个逗号替换为空。您需要全局逗号替换。尝试更改此行

this.value = addCommas(this.value.replace(',', ''));

对此:

this.value = addCommas(this.value.replace(/,/g, ''));

关于javascript - Jquery在数字中添加逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36403626/

相关文章:

javascript - 为什么 'this' 关键字在 JavaScript 中对象的简写方法中不起作用?

javascript - 我如何提交我的 jquery 模态表单

php - 成功插入数据库后,Mysqli_insert_id() 绝对不返回任何内容。为什么?

asp.net - 检查分散在同一页面上的复选框

javascript - node.js 聊天应用中callback()的含义或源代码

jquery - 在 Flask 中使用 jQuery 自动完成

javascript - 计算递归函数中变量的结果

javascript - 防止重复插入文档

javascript - 在输入字段中单击时,菜单下拉列表中的表单不会保留 - Bootstrap 3

javascript - 如何在谷歌地图上显示方向后隐藏其他标记