Html 我的输入字段在四位数后自动清除
我正在尝试将整数转换为印度货币,并将它们返回到相同的输入标记,但在输入第五位之后,它可以很好地处理四位数字,再次从第五位开始。请帮帮我。我是新来的Html 我的输入字段在四位数后自动清除,html,Html,我正在尝试将整数转换为印度货币,并将它们返回到相同的输入标记,但在输入第五位之后,它可以很好地处理四位数字,再次从第五位开始。请帮帮我。我是新来的 function currency(element) { let ele = document.getElementById(element.id); let num = ele.value let number = (parseInt(num))||0;
function currency(element) {
let ele = document.getElementById(element.id);
let num = ele.value
let number = (parseInt(num))||0;
console.log(number.toLocaleString('en-IN'));
var int = number.toLocaleString('en-IN');
document.getElementById(element.id).value = int.toString();
}
它为1234
但是,当我输入
12345
时,它会在您键入1234
后将1
返回到输入标记,您的函数会将
的值更改为1234
。但当您键入5
时,函数会尝试从12345
中读取一个整数。逗号不是以10为基数的有效数字,因此parseInt
在1
()处停止解析。在将
的值传递给parseInt
之前,需要对其进行清理:
let num = ele.value.replace(/[^\d]/g, ''); // remove all non-digits from num
let number = (parseInt(num))||0;
仅从您展示的代码来看,问题并不明显<代码>parseInt('12345')。toLocaleString('en-IN')给出12345。