如何设置密码的最小长度

Posted

技术标签:

【中文标题】如何设置密码的最小长度【英文标题】: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"  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>

【问题讨论】:

【参考方案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;

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

【讨论】:

以上是关于如何设置密码的最小长度的主要内容,如果未能解决你的问题,请参考以下文章

在组策略中设置最小密码长度

注册填写密码,最小长度为6个字符是啥

Linux安全策略设置

Linux安全策略设置

linux如何设置一般用户密码必须达到一定强度?还有3月强制更改一次密码?

如何去掉Linux的密码复杂度要求