例として、パスワードの文字数を 10 に制限する必要があります。
HTML属性には「最大長」しかありませんが、「長さ」や「最小長」は使用できません!
私はこのコードを持っています:
<input type="password" name="password" maxlength="9" pattern="\d+" value="<?php echo htmlentities($password); ?>" />
パスワードを特定の文字数に制限するにはどうすればよいですか?
例として、パスワードの文字数を 10 に制限する必要があります。
HTML属性には「最大長」しかありませんが、「長さ」や「最小長」は使用できません!
私はこのコードを持っています:
<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)
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 ではサポートされていません。