我有一个带有 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/