我需要将密码字符限制为10仅作为示例,不能少于更多..
HTML属性中只有“maxlength”,但没有使用这样的“长度”或“minlenght”!
我有这段代码:
<input type="password" name="password" maxlength="9" pattern="\d+" value="<?php echo htmlentities($password); ?>" />
如何将密码限制为一定数量的字符?
答案 0 :(得分:1)
您可以使用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
控件的边框,以便用户获得更多反馈。但这完全取决于你。
答案 1 :(得分:0)
为什么不使用strlen?
if(strlen($password) < 10)
答案 2 :(得分:0)
输入密码后需要验证密码:
if (strlen($password) != 10)
{
echo 'password must be 10 characters';
}
答案 3 :(得分:0)
您可以使用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中不支持。
答案 4 :(得分:0)
嗯,我看到你在这里已经有了很多好的答案。使用像freejosh这样的验证模式是我的方式。在我看来,这是最简单,最干净的方法。
<强> BUT ..... 强>
我必须同意sammitch对此的看法。由于他已经陈述的原因,我永远不会限制密码长度。拥有最小长度可能是一件好事,因为它强制密码具有一定数量的字符因此(希望)增加其安全性,但我永远不会给出最大长度的限制