1

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

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

我有这个代码:

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

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

4

5 回答 5

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控件的边框,以便用户获得更多反馈。但这完全取决于你。

于 2013-05-29T19:49:15.193 回答
0

为什么不使用strlen?

if(strlen($password) < 10)
于 2013-05-29T19:48:05.233 回答
0

好吧,我看到您在这里已经有了很多好的答案。使用像 freejosh 张贴这样的验证模式是我的做法。在我看来,这似乎是最简单和最干净的方法。

但.....

我必须同意 sammitch 的观点。由于他已经说明的原因,我永远不会限制密码长度。具有最小长度可能是一件好事,因为它强制密码具有一定数量的字符,因此(希望)提高其安全性,但我永远不会限制最大长度

于 2013-05-29T20:14:36.003 回答
0

您需要在输入密码后验证密码:

if (strlen($password) != 10)
{
  echo 'password must be 10 characters';
}
于 2013-05-29T19:49:58.610 回答
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 不支持。

于 2013-05-29T20:07:04.853 回答