如何设置密码的最小长度
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】:您可以使用minlength
和maxlength
像往常一样,您可以使用 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】:<input type="Password" name="pd" placeholder="Password" pattern=".8,16" title="8 or more Character" size=30 pattern="[!@#$%^&*][a-z][A-Z][0-9]" required>
这段代码对我有用。尝试这个
【讨论】:
以上是关于如何设置密码的最小长度的主要内容,如果未能解决你的问题,请参考以下文章