HTML5 には何らかのテキスト フィールド マスキングがありますか、それともトラップする必要がありますonkeydown
か?
jbabey は正しいです。タイプされたものを隠すのではなく、特定の不正な文字をブロックするように「マスキング」します。
私が見つけた最良の (最も単純で最も信頼できる) 方法は、トラップonkeyup
してから、テキストフィールドの値に対して正規表現置換を実行し、不正な文字を削除することです。
これにはいくつかの利点があります。
- 実装は簡単です (1 つの関数、2 行のコード)。
- 信頼性が高く、私が考えたすべてのケースをカバーしています。
- コピー/貼り付け、すべて選択、矢印キーなどのキー コマンドはブロックされません。
しかし、その主な欠点は、タイプされた文字を削除する前に簡単に表示することです。