如何在文本框中设置最大长度为6,最小长度为6?

时间:2014-05-02 15:13:36

标签: javascript jquery html

 <input id="groupidtext" type="text" style="width: 100px;" maxlength="6" /></td>

有没有办法让最小长度达到6?

5 个答案:

答案 0 :(得分:16)

你可以用javascipt做这样的事情:

<input onblur="checkLength(this)" id="groupidtext" type="text" style="width: 100px;" maxlength="6" />
<!-- or use event onkeyup instead if you want to check every character strike-->


function checkLength(el) {
  if (el.value.length != 6) {
    alert("length must be exactly 6 characters")
  }
}

请注意,这适用于不支持HTML 5的旧版浏览器,但依赖于启用了javascript的用户。

答案 1 :(得分:8)

您可以使用HTML5模式属性或使用JavaScript。

模式可以查找示例:

<input id="groupidtext" type="text" pattern="(.){6,6}" style="width: 100px;" maxlength="6" />

但是pattern属性仅适用于HTML5浏览器。对于旧版浏览器,您需要使用JavaScript。

编辑:根据要添加的评论中的建议,这仅在表单即将提交时才会生效。如果此输入不在表单中,并且您需要验证,则用户类型使用JavaScript

答案 2 :(得分:3)

您可以在此处找到答案:Is there a minlength validation attribute in HTML5?

因此,这应该做的工作:

<input pattern=".{6,6}">

答案 3 :(得分:3)

除了亚历克斯的回答:

<强> JS

$(function() {
    $('input[type="submit"]').prop('disabled', true);
    $('#check').on('input', function(e) {
        if(this.value.length === 6) {
            $('input[type="submit"]').prop('disabled', false);
        } else {
            $('input[type="submit"]').prop('disabled', true);
        }
    });
});

<强> HTML

<input type="text" maxlength="6" id="check" data-minlength="6" /><br />
<input type="submit" value="send" />

JsFiddle

但是:您应该始终记得再次验证服务器端的用户输入,用户可以修改本地HTML或禁用Javascript。

答案 4 :(得分:1)

您无法在文字字段上设置最小长度,否则用户将无法输入前5个字符。

最好的办法是在提交表单时验证输入,以确保长度为6。

对于投票的智能设备 - maxlength不是验证属性,它旨在防止用户物理输入超过6个字符,相应的minlengh不在HTML规范的范围内,因为它&#39 ; s实现会使文本框无法使用。帮助用户了解他们所要求的原因是不可能的,这与指导他们找到正确的解决方案同样重要。