Javascript Html文本框仅允许在键入千位分隔符和小数时使用数字
嗨,我想让html文本框只接受数字值,在键入时,它应该像千位分隔符和两位小数一样转换 例如:Javascript Html文本框仅允许在键入千位分隔符和小数时使用数字,javascript,html,Javascript,Html,嗨,我想让html文本框只接受数字值,在键入时,它应该像千位分隔符和两位小数一样转换 例如: 12,343.50 这里我编写了一个javascript函数。您可以使用它来转换为逗号 HTML <input type="text" name="x1" onkeydown="numberWithCommas(this)"/> 请尝试此操作。输入文本字段将不允许任何字符,但数字和输入字段值将类似于印度货币 $(“#formattedNumberField”)。在('keyup',fu
12,343.50
这里我编写了一个javascript函数。您可以使用它来转换为逗号 HTML
<input type="text" name="x1" onkeydown="numberWithCommas(this)"/>
请尝试此操作。输入文本字段将不允许任何字符,但数字和输入字段值将类似于印度货币
$(“#formattedNumberField”)。在('keyup',function()上{
var n=parseInt($(this).val().replace(/\D/g',),10);
$(this.val(n.tolocalstring(“en IN”,{currency:INR}));
});代码>
您可以使用jquery库。或者,您可以创建自己的库,并收听文本框的向下键并将数字格式化为字符串。首先,我没有看到任何与react相关的内容,其次,请提供您迄今为止尝试的内容?@Md.AtiqulIslam jQuery??为何这只是数字操纵请不要这样做,这很烦人。在格式化用户输入的任何内容之前,请等待用户完成键入。我尝试了此正则表达式^0$| ^[1-9]\d*$| ^.\d+$| ^[0\.\d*$| ^[1-9]\d*.\d*$
function numberWithCommas(x) {
setTimeout(function(){
if(x.value.lastIndexOf(".")!=x.value.length-1){
var a = x.value.replace(",","");
var nf = new Intl.NumberFormat();
console.log(nf.format(a));
x.value = nf.format(a);
}
},1);
}