我很难将输入字符限制为整数。有没有一种方法可以限制小数或浮点数不能输入到输入类型=“ number
”中?
我还尝试了以下方法,只要触发.
的事件就将''
替换为keyup
:
$("#myForm").on('submit', function(e) {
e.preventDefault();
});
$("#number").on('keyup', function() {
var regex = new RegExp(/\d+\.\d?/g);
var number = $(this).val();
if (regex.test(number)) {
number = number.replace(/\./g, '');
$(this).val(number);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="myForm" action="//google.de">
<p>Input type number step 1</p>
<input type="number" name="number" id="number" step="1" min="0"/>
<input type="submit" />
</form>
使用上面的代码,结果如下:
WORKS:
2.3
FAILS:
2..3
2….3
2.3.3.3.3.3.3.3.3.3.3.333...3
我只需要允许2(任何整数),并且在所有其他情况下(包括复制和粘贴),应删除小数点。
所以我的最后一个问题是,如何限制使用type="number"
在输入字段中输入浮点数?如果那不可能,那么如何更改上面的代码以满足我的要求?
编辑:
如果该问题与另一个问题部分匹配,请不要关闭此问题。我也在这里写了代码。我想知道,这是怎么回事。