我有一个<input type="number">
,我想限制用户的输入为纯数字或数字,小数点后2位小数。
基本上,我要求输入价格。
我想避免做正则表达式。有办法吗?
<input type="number" required name="price" min="0" value="0" step="any">
第1步:将HTML数字输入框挂钩到onchange事件
myHTMLNumberInput.onchange = setTwoNumberDecimal;
或者在HTML代码中
<input type="number" onchange="setTwoNumberDecimal" min="0" max="10" step="0.25" value="0.00" />
第2步:编写setTwoDecimalPlace
方法
function setTwoNumberDecimal(event) {
this.value = parseFloat(this.value).toFixed(2);
}
您可以通过改变传递给toFixed()
方法的值来改变小数位数。见MDN docs。
toFixed(2); // 2 decimal places
toFixed(4); // 4 decimal places
toFixed(0); // integer
尝试这样只允许输入类型中的2位小数
<input type="number" step="0.01" class="form-control" />
我发现使用jQuery是我最好的解决方案。
$( "#my_number_field" ).blur(function() {
this.value = parseFloat(this.value).toFixed(2);
});
使用此代码
<input type="number" step="0.01" name="amount" placeholder="0.00">
默认情况下,HTML5输入元素的步长值为step =“1”。
写吧
<input type="number" step="0.1" lang="nb">
lang ='nb“让你用逗号或句号写下你的十进制数
输入:
step="any"
class="two-decimals"
在脚本上:
$(".two-decimals").change(function(){
this.value = parseFloat(this.value).toFixed(2);
});