テキストフィールドにIDカード番号フォームユーザを取得しています。その上のテキストフィールドに挿入されている - 私は、ユーザーが自動的に36459とすることを望ん テキストフィールド内の特殊文字
36459-6523698-5
のようなIDカード番号の形式があります。
テキストフィールドにIDカード番号フォームユーザを取得しています。その上のテキストフィールドに挿入されている - 私は、ユーザーが自動的に36459とすることを望ん テキストフィールド内の特殊文字
36459-6523698-5
のようなIDカード番号の形式があります。
マスクされた入力プラグインがあります:http://digitalbush.com/projects/masked-input-plugin/またはhttps://github.com/RobinHerbots/jquery.inputmask
これは華やかで、コピー&ペーストも正しく処理できます。もし絶対に*それをする*があるなら、かなり良いもののように見えます。 –
正規表現に対してonkeyupをチェックし、一致するものがハイフン( - )を挿入しているとします。
さらに、プラグインを使用してください。
あなたはMaskedTextBoxを使用して、代わりに通常のTextBoxコントロールの必要なマスクを設定する必要があります。
例: http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.aspx
質問のタグは 'jquery'と' html'と 'ajax'です。 ASP.Netとは何が関係していますか? –
@ T.J Crowder、明確化のためにありがとう。 jquery、html、ajax、または他の技術でこれを行うには "似たような"方法が必要なので、私はASP.NETを参照しました。これは上記のKruleの答えによって証明されています。 –
あなたがプラグインを使用したくない場合は、この操作を行うことができます。
$('#card').keyup(function() {
var card = $(this).val();
var format = "#####-######-#";
var i = card.length;
var output = format.substring(0,1);
var text = format.substring(i)
if (text.substring(0,1) != output) $(this).val(card + text.substring(0,1));
});
例:http://jsfiddle.net/lfrias/KN4jt/
OBS:あなたはMAXLENGTHを制限する必要が
ここには***の巨大な数の落とし穴があります(少なくともあなたはユーザーを驚かせるでしょうし、ユーザーは驚きたいとは思わないd - ハイフンを入力して2で終わるので、私は常にバックスペースを取らなければならないことを知っていますが、あなたもそれを扱うことができますが、それは面倒で速くなります)。本当にやりたければ、@Kruleがあなたを指し示したプラグインのように、誰かが既に書いて、デバッグしたプラグインを使用することを強く推奨します。 –