阻止用户在输入字段中输入大于2位的值

时间:2016-11-25 18:01:05

标签: javascript jquery html

我有一个HTML表单字段来获取用户的月份。

<input type="text" placeholder="MM" size="2" name="month">

我需要该字段只接受2位数字。我尝试了表单验证,但它允许用户输入2位以上的数字,然后显示验证消息。我不需要该字段的任何验证消息,但应限制用户最多输入2位数。有没有办法可以使用jquery来做到这一点?

3 个答案:

答案 0 :(得分:3)

<input type="text" placeholder="MM" size="2" name="month" maxlength="2>

maxlength属性;

<input type="text" placeholder="MM" size="2" maxlength="2" name="month">

它限制了您可以直接输入的文字数量,不允许您输入更多内容。

编辑:添加了代码段

答案 1 :(得分:2)

最简单的方法是使用type='number'属性并设置max='12'

<input type='number' max='12' min='1'>

&#13;
&#13;
input {
  width: 4ex;
  padding: 0 1px;
}
input:last-of-type {
  width: 6.5ex;
}
&#13;
<fieldset>
  <legend>Enter Date</legend>
  <label>Month:</label>
  <input type='number' max='12' min='1'>

  <label>Day:</label>
  <input type='number' max='31' min='1'>

  <label>Year:</label>
  <input type='number' max='3000' min='2016'>

</fieldset>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

这应该可以帮助你,每当用户按下按键时,它会检查长度,然后修剪额外的字符,如果有的话:

$("input").keydown(function() {
    var value = $(this).val();
    if(value.length > 2) {
        value = value.substring(0, 2);
        $(this).val(value);
    }
});