正規表現パターンを持つ入力フィールドの場合:
<input type="text" maxlength="4" inputmode='numeric' pattern="\d*">
次のような方法で属性を解析することにより、JavaScriptを使用して入力を検証したいと思います(これは機能しません)。pattern
$('input').on('keypress', function(e){
var regex = this.pattern,
valid = eval(regex).test( e.charCode );
if( !valid )
return false;
});
パターン内の正規表現が JS で使用されるものとは異なることはわかっていますが、パターンで許可されている文字のみを入力できるようにするために、このメソッドが機能するように正規表現を変換する方法が必要です。