【问题标题】:How can I set the maximum length of 6 and minimum length of 6 in a textbox? [duplicate]如何在文本框中设置最大长度 6 和最小长度 6? [复制]
【发布时间】:2014-06-19 07:58:00
【问题描述】:

考虑:

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

有没有办法将最小长度设置为 6?

【问题讨论】:

  • pattern="^[\w\W]{6}$"
  • 这不是重复的 - 另一个问题专门询问 HTML 5,而这个问题没有。

标签: javascript jquery html


【解决方案1】:

除了亚历克斯的回答:

JavaScript

$(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。

【讨论】:

  • 我们可以用输入ID来做吗?因为我的 webpae 中有很多提交类型?
  • @user259896 是的,当然,您可以更改选择器。
【解决方案2】:

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

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

maxlength 不是验证属性。它旨在防止用户实际输入超过六个字符。相应的 minlengh 不在 HTML 规范的范围内,因为它的实现会使文本框无法使用。

【讨论】:

    【解决方案3】:

    你可以在这里找到答案:Is there a minlength validation attribute in HTML5?

    因此这应该可以完成工作:

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

    【讨论】:

    • 试过这个但是没用..:(
    • 去掉“.”,不用它就可以工作
    【解决方案4】:

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

    该模式可能如下所示:

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

    但模式属性只适用于 HTML5 浏览器。对于旧浏览器,您需要 JavaScript。

    正如要添加的 cmets 中所建议的那样,这仅在即将提交表单时才有效。如果此输入不在表单中,并且您需要作为用户类型进行验证,请使用 JavaScript。

    【讨论】:

    • 您知道,pattern 基本上是一个正则表达式,当您提交表单时输入会根据该表达式进行验证(您必须将字段嵌套在 &lt;form&gt; 中)。
    • 我知道,但你添加它很好!
    • 我知道你知道,“你”是原始发布者(或其他阅读答案的人)。 :)
    • 我扩展了我的答案,谢谢朋友
    【解决方案5】:

    你可以用 JavaScript 来做这样的事情:

    <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 的用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多