【问题标题】:How to set minimum length of password如何设置密码的最小长度
【发布时间】:2016-03-09 03:48:12
【问题描述】:

我目前正在处理一个 html 表单。如何将密码的最小长度设置为 8,以便它拒绝用户输入的任何小于 8 的密码。如何做到这一点?

代码如下:

<div id="login-form">
            <form method="post">
            <table align="center" width="30%" border="0">
            <tr>
            <td><input type="text" name="email" placeholder="Your Email" required /></td>
            </tr>
            <tr>
            <td><input type="password" name="pass" placeholder="Your Password" required /></td>
            </tr>
            <tr>
            <td><button type="submit" name="btn-login">Sign In</button></td>
            </tr>
            <tr>
            <td><a href="register.php">Sign Up Here</a></td>
            </tr>
            </table>
            </form>
        </div>

【问题讨论】:

    标签: html forms html-input


    【解决方案1】:

    如果您使用的是 HTML5,您可以使用 pattern 和输入标签所需的属性:

    <input type="password" pattern=".{8,}"   required title="8 characters minimum">
    <input type="password" pattern=".{8,12}" required title="8 to 12 characters">
    

    还有一个用于输入标签的minlength 属性,但它在some browsers 中不起作用:

    <input type="password" minlength="8" required>
    

    【讨论】:

      【解决方案2】:

      可以使用pattern属性:

      <input pattern=".{8,}" type="password" name="pass" placeholder="Your Password" required />
      

      【讨论】:

        【解决方案3】:

        将您的按钮更改为:

        <button name="btn-login">Sign In</button>
        

        并添加这段代码 JavaScript(使用 jquery):

        $('button[name="btn-login"]').click(function() {
            if($('input[name="pass"]').val().length < 8) {
                alert('Minimum length = 8');
            } else {
                $('form').submit();
            }
        });
        

        不要忘记将此条件添加到您的 PHP 代码中。

        【讨论】:

          【解决方案4】:

          您可以使用minlengthmaxlength

          像往常一样,您可以使用 minlength 和 maxlength 属性来 确定密码的最小和最大可接受长度。 此示例通过指定用户的 PIN 必须至少为四位且不超过八位。规模 属性用于确保密码输入控件为八 字符宽。

          Source

          But it works on Chrome only at the moment.

          或者,正如有人已经提到的,您可以使用pattern

          如果您的应用程序有字符集限制或任何其他 要求输入密码的实际内容,可以 使用 pattern 属性建立要使用的正则表达式 自动确保您的密码符合这些要求。

          Source

          【讨论】:

          • 嘿,我建议对您的答案进行编辑,如果您愿意,请看一下。另外,也许可以添加一个使用长度和模式的例子。
          • 截至 2021 年,所有主流浏览器现在都支持这个标签:caniuse.com/input-minlength 只有 IE11 才是真正的问题。
          【解决方案5】:

          很遗憾,并非所有浏览器都支持最小长度属性。请check this out

          因此,必须使用另一种方法。

          我选择使用如下正则表达式;

          <input type="password" name="pass" title="Password must be 8 characters including 1 uppercase letter, 1 lowercase letter and numeric characters" required pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" >
          

          【讨论】:

          • 我认为您没有责任告诉我如何选择为我选择安全密码。通常,我不会在那些阻碍我的网站上注册。
          • 你是对的。此代码只是一个示例,仍然可以在生产中使用。因此,如果您想使用此代码,您可能需要根据您的情况更改正则表达式条件。祝你好运。
          【解决方案6】:

          &lt;input type="Password" name="pd" placeholder="Password" pattern=".{8,16}" title="8 or more Character" size=30 pattern="[!@#$%^&amp;*][a-z][A-Z][0-9]" required&gt;

          这段代码对我有用。尝试这个

          【讨论】:

            猜你喜欢
            • 2013-06-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-03-18
            • 2016-07-19
            相关资源
            最近更新 更多