我需要将密码字符限制为 10 个仅作为示例,而不是更少而不是更多..
HTML 属性中只有“maxlength”,但没有使用这样的“length”或“minlenght”!
我有这个代码:
<input type="password" name="password" maxlength="9" pattern="\d+" value="<?php echo htmlentities($password); ?>" />
如何将密码限制为一定数量的字符?
我需要将密码字符限制为 10 个仅作为示例,而不是更少而不是更多..
HTML 属性中只有“maxlength”,但没有使用这样的“length”或“minlenght”!
我有这个代码:
<input type="password" name="password" maxlength="9" pattern="\d+" value="<?php echo htmlentities($password); ?>" />
如何将密码限制为一定数量的字符?
你可以使用 JavaScript 来做到这一点。先附上onblur
事件:
<input ... onblur="verifyMinLength(this, 10)"... />
然后在 JavaScript 中:
function verifyMinLength(o, len) {
if (o.value.length < len) {
alert('The password must be 10 characters in length.');
o.focus();
}
}
当然,这可能会更漂亮。您可以利用放置在控件旁边的标签input
而不是alert
. 您还可以使用 CSS 更改input
控件的边框,以便用户获得更多反馈。但这完全取决于你。
为什么不使用strlen?
if(strlen($password) < 10)
好吧,我看到您在这里已经有了很多好的答案。使用像 freejosh 张贴这样的验证模式是我的做法。在我看来,这似乎是最简单和最干净的方法。
但.....
我必须同意 sammitch 的观点。由于他已经说明的原因,我永远不会限制密码长度。具有最小长度可能是一件好事,因为它强制密码具有一定数量的字符,因此(希望)提高其安全性,但我永远不会限制最大长度
您需要在输入密码后验证密码:
if (strlen($password) != 10)
{
echo 'password must be 10 characters';
}
您可以使用 HTML5。对我来说这是一个很好的解决方案。
<form action="#" method="POST" id="form">
<input pattern=".{10}" title="10 characters" placeholder="10 characters" name="password" type="password" />
<input type="submit" value="Test" />
</form>
看实际操作:http: //jsfiddle.net/a4B7z/。
Internet Explorer 9 和更早版本或 Safari 不支持。