该maxlength属性不适用于<input type="number">。这只发生在 Chrome 中。
maxlength
<input type="number">
<input type="number" class="test_css" maxlength="4" id="flight_number" name="number"/>
来自MDN 的文档<input>
<input>
如果 type 属性的值为text, email, search, password, tel, 或url,则此属性指定用户可以输入的最大字符数(以 Unicode 代码点表示);对于其他控件类型,它被忽略。
text
email
search
password
tel
url
所以在设计maxlength上被忽略<input type="number">了。
根据您的需要,您可以使用他/她的答案中建议的 and*min属性max(注意:这只会定义一个受限制的范围,而不是值的实际字符长度,尽管 -9999 到 9999 将涵盖所有 0-4 digit numbers),或者您可以使用常规文本输入并使用新属性对字段强制验证: *pattern
min
max
pattern
<input type="text" pattern="\d*" maxlength="4">