0

jQuery 用の MaskedInput プラグインを使用して、2 つのオプション セクションを持つ入力マスクを作成しています。

a?a-a?a2 番目の文字はオプションです。

a-aしかし、オプションとしてマークされている 2 番目の文字を入力しても、MaskedInput は常に無効な入力と見なします。

フィドル

4

1 に答える 1

1

ドキュメンテーションを注意深く読むと…このプラグインを使用したことがないのでこれを行っただけですが、http://digitalbush.com/projects/masked-input-plugin/と明確に書かれています:

マスクの一部をオプションにすることができます。「?」の後にリストされているもの マスク内はオプションのユーザー入力と見なされます。この一般的な例は、電話番号 + オプションの内線番号です。

それで、あなたはあなたが望むことをすることができませんか?しかし、これを使用できます:

定義済みのプレースホルダーが要件を満たしていない場合は、いつでも独自のプレースホルダーを追加できます。たとえば、16 進文字のみを許可するマスクが必要な場合があります。$.mask.definitions['h'] = "[A-Fa-f0-9]"; 次に、それを使用して css の色などをマスクできます。

したがって、アルファ + スペースのマスクを定義できます。

$.mask.definitions['h'] = "[A-Za-z ]"
$('#blah').mask('ah-ah');

http://jsfiddle.net/ERfz4/

このコードの問題は、それがあなたが望むものではないということです。「aa-aa」と「a -a」は受け入れますが、「aa」と「a -a」は受け入れません。

必要なものについては、このプラグインを使用せずに自分で実装してみてください。

于 2013-06-25T18:11:25.377 に答える