[英]How to restrict decimal numbers in input=“text” show only integer numbers
How to restrict decimal numbers from a <input="text">
show only integer numbers. 如何限制<input="text">
十进制数字仅显示整数。 The field is only show like 11 not 11.00 该字段仅显示为11而不是11.00
<input type="text">
Without using 不使用
<input type="number">
You can use parseInt()
to remove decimal part without rounding ( 11.9
=> 11
, 11.1
=> 11
and etc): 可以使用parseInt()
没有四舍五入 (以去除小数部分11.9
=> 11
, 11.1
=> 11
和等):
<input type="text" id="num">
var n = 11.13;
document.getElementById('num').value = parseInt(n); // 11
or just +
operator: 或者只是+
运算符:
var n = 11.13;
document.getElementById('num').value = +n; // 11
You can use match()
method to checking format of input value. 您可以使用match()
方法检查输入值的格式。
var input = document.getElementById("number"); var lastValue = ""; input.addEventListener("keydown", valueCheck); input.addEventListener("keyup", valueCheck); function valueCheck(){ if (input.value.match(/^[0-9]*$/)) lastValue = input.value; else input.value = lastValue; }
<label>Type your value</label> <input type="text" id="number" />
Maybe you can add a min attribute to your input html element. 也许您可以向您的输入html元素添加一个min属性。 like this 像这样
<input type="number" min="0">
<input type="text" pattern="([d]+)">
You can use modern HTML5 attribute pattern for input validation on client side. 您可以使用现代HTML5属性模式在客户端进行输入验证。 Input with decimal value would be invalid. 用十进制值输入将无效。
https://jsfiddle.net/rry32tm1/ https://jsfiddle.net/rry32tm1/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.