Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Html文本框仅允许在键入千位分隔符和小数时使用数字_Javascript_Html - Fatal编程技术网

Javascript Html文本框仅允许在键入千位分隔符和小数时使用数字

Javascript Html文本框仅允许在键入千位分隔符和小数时使用数字,javascript,html,Javascript,Html,嗨,我想让html文本框只接受数字值,在键入时,它应该像千位分隔符和两位小数一样转换 例如: 12,343.50 这里我编写了一个javascript函数。您可以使用它来转换为逗号 HTML <input type="text" name="x1" onkeydown="numberWithCommas(this)"/> 请尝试此操作。输入文本字段将不允许任何字符,但数字和输入字段值将类似于印度货币 $(“#formattedNumberField”)。在('keyup',fu

嗨,我想让html文本框只接受数字值,在键入时,它应该像千位分隔符和两位小数一样转换

例如:

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