javascript - 在JS中格式化输入类型="text"

标签 javascript

我有一个带有 type='text' 的文本字段,我正在尝试用逗号格式化文本。示例:500000000 将变为 500,000,000

我有以下代码:

function addComma(values) {
   values.value = values.value.replace(",", "").replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}

if (document.getElementById("values"))
    payment = parseInt(document.getElementById("values").value);
<label1>Rent</label1> <input id="values" type="text" onkeyup="addComma(this);">

但是,它正在打印 5,000,0,0,0,000 并且由于某种原因格式被关闭。我也尝试过 .toLocaleString(),但这似乎也不起作用。我在这里做错了什么?

有人向我推荐了 Stack Overflow 上的其他一些帖子,但似乎没有任何结果。

最佳答案

function addComma(values) {
  const v = values.value && new Number(values.value.replace(/,/g,''));
   values.value = v.toLocaleString();
}

if (document.getElementById("values"))
         payment = parseInt(document.getElementById("values").value);
<label1>Rent</label1> <input id="values" type="text" onkeyup="addComma(this);">

关于javascript - 在JS中格式化输入类型="text",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53212189/

相关文章:

javascript - 如何根据圆圈大小调整箭头?

javascript - Firebase currentUser.getIdToken() 在signInWithCustomToken后返回自定义 token

javascript - 提高 JavaScript 函数的速度

javascript - jsxgraph:如何更新线的点?

javascript - 如何使用javascript在单击图像时获取音频,并在播放两个或多个图像时暂停,其中一个图像必须在其他图像正在播放时暂停

javascript - Kendo UI sortable within a sortable

Javascript 停止输入多个类名

javascript - Angular JS 级联通知

javascript - 根据选择选项元素将表单重定向到不同的 URL 但重定向后未选择

javascript - Ajax调用返回函数而不是数据