テキスト入力のパターン属性を数値に限定することができません。JavaScript正規表現リストによると、[d]または[0-9]がそれを行う必要があります。しかし、
<input dir="ltr" type="text" title="Enter numbers only." pattern="[\d]{9}" id="uid" name="1" placeholder="Enter UID" required="'required'" class="required placeholder" minlength="9" maxlength="9" autocomplete="off" />
私には機能しません(どのブラウザでも)。次のようなjs検証を追加する必要があります(この投稿に基づいて、簡単にするためにこのルートに進むことにしました):
HTML:
onkeypress='return isNumberKey(event)'
js:
function isNumberKey(evt){
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
主に、パターン属性を機能させる方法があるかどうかを知りたいです。ただし、これにベスト プラクティス ルートを使用しているかどうかについてもお気軽にコメントしてください。<input type="number"/>
HTML5はまだ十分にサポートされていないため、使用したくありません。