我怎么能将密码限制为一定数量的字符?

时间:2013-05-29 19:45:27

标签: php html5 attributes password-protection

我需要将密码字符限制为10仅作为示例,不能少于更多..

HTML属性中只有“maxlength”,但没有使用这样的“长度”或“minlenght”!

我有这段代码:

<input type="password" name="password" maxlength="9" pattern="\d+" value="<?php echo htmlentities($password); ?>" />

如何将密码限制为一定数量的字符?

5 个答案:

答案 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对此的看法。由于他已经陈述的原因,我永远不会限制密码长度。拥有最小长度可能是一件好事,因为它强制密码具有一定数量的字符因此(希望)增加其安全性,但我永远不会给出最大长度的限制