对于<input type="number">元素,maxlength无效。如何限制该数字元素的最大长度?
当前回答
你可以将它指定为文本,但要添加只匹配数字的pettern:
<input type="text" pattern="\d*" maxlength="2">
它非常完美,而且在移动设备上(在iOS 8和Android上进行了测试),数字键盘也会弹出。
其他回答
我使用一个简单的解决方案的所有输入(与jQuery):
$(document).on('input', ':input[type="number"][maxlength]', function () {
if (this.value.length > this.maxLength) {
this.value = this.value.slice(0, this.maxLength);
}
});
代码选择maxlength定义的所有输入类型="number"元素。
简单的解决方法,
输入滚动事件 通过键盘复制粘贴 通过鼠标复制粘贴 输入类型等情况 <输入id = " maxLengthCheck " name = " maxLengthCheck " type = "数量" 一步= " 1 " min = " 0 " oninput = "。Value = this。取值为> 5 ?5: Math.abs(this.value)"/>
这是有条件的。值> 5,只需更新5与您的最大限制。
解释:
如果我们的输入数大于我们的极限更新输入值this。Math.abs(this.value) 否则就达到最大限度,也就是5。
<input type="number" maxlength="6" oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);">
这对我来说没有任何问题
与type="number"一样,指定max而不是maxlength属性,这是可能的最大数目。如果是4位数,最大值应该是9999,5位数是99999,以此类推。
另外,如果你想确保它是一个正数,你可以设置min="0",以确保它是正数。
更相关的属性是min和max。