如何限制数字输入的位数?

时间:2017-04-08 21:02:02

标签: html input

我正在创建一个表单,允许用户输入包含月,日和年的生日。对于今年,我正在尝试编写html代码,以便它只允许正数并将其限制为4位数。以下是有问题的代码:

<input type="number" name="year" maxlength="4"  max="9999" min="0" step="1" placeholder="YYYY" p="[0-9]{4}" style="color:#888;" required/> 

我已经在网上搜索了我想要做的解决方案,但每次尝试时,它都会允许我输入一个大于4位的数字...基本上我试图限制用户输入有效的出生年份:

任何建议?提前谢谢!!

Birth year greater than 4 digits input

2 个答案:

答案 0 :(得分:0)

谢谢你kennytm,你的链接已经回答了问题。我只需要添加这个

onKeyPress="if(this.value.length==10) return false;

答案 1 :(得分:0)

需要进行两项更改:

  1. 将输入type=number更改为type=text。这将开始接受没有约束的文本输入。
  2. 但正则表达式模式只会将文本输入绑定到数字。
  3. 同时将p=[0-9]{4}修改为pattern="[0-9]{4}"
  4. <input type="text" name="year" maxlength="4"  min="0" max="9999" step="1" placeholder="YYYY" pattern="[0-9]{4}" style="color:#888;" required/>