maxlength属性对<input type="number">不起作用。这只发生在Chrome。

<input type="number" class="test_css"  maxlength="4"  id="flight_number" name="number"/>

当前回答

下面的代码将允许用户:

只能输入0-999范围内的数字。 这也限制了用户输入不超过3个字符。 当用户输入超过3个字符时,它将清除文本框。

<input type="number" name="test_name" min="0" max="999" oninput="validity.valid||(value='');"> 

其他回答

对于有长度限制的数字输入,您也可以尝试这种方法

<input type="tel" maxlength="4" />

许多人张贴的onKeyDown()事件根本不工作,即你不能删除一旦你达到限制。因此,使用onKeyPress()而不是onKeyDown(),它工作得很好。

下面是工作代码:

用户将不允许输入超过4位数字 < br > <input type="number" pattern="/^-?\d+\.? "\d*$/" onKeyPress="if(this.value.length==4) return false;"/>

我曾经遇到过同样的问题,并根据我的需求找到了这个解决方案。 它可能对某人有帮助。

<input type="number" placeholder="Enter 4 Digits" max="9999" min="0" 
onKeyDown="if(this.value.length==4 && event.keyCode>47 && event.keyCode < 58)return false;"
/>

快乐编码:)

这个代码对我有用

<形式方法=“post”> <label for="myNumber">我的号码:</label> <input type="number" maxlength="9" required Oninput ="javascript: if (this.value。长度> this. maxlength) this。Value = this.value。片(0,this.maxLength);“> < br > < br > <input type="submit" value=" submit" > > < /形式

最大长度将不能与<input type="number"工作,我知道的最好的方法是使用oninput事件限制最大长度。请看下面的代码。

<input name="somename"
    oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"
    type = "number"
    maxlength = "6"
 />