2011-07-20 23 views
1

テキストフィールドにIDカード番号フォームユーザを取得しています。その上のテキストフィールドに挿入されている - 私は、ユーザーが自動的に36459とすることを望ん テキストフィールド内の特殊文字

36459-6523698-5 

のようなIDカード番号の形式があります。

+0

ここには***の巨大な数の落とし穴があります(少なくともあなたはユーザーを驚かせるでしょうし、ユーザーは驚きたいとは思わないd - ハイフンを入力して2で終わるので、私は常にバックスペースを取らなければならないことを知っていますが、あなたもそれを扱うことができますが、それは面倒で速くなります)。本当にやりたければ、@Kruleがあなたを指し示したプラグインのように、誰かが既に書いて、デバッグしたプラグインを使用することを強く推奨します。 –

答えて

0

正規表現に対してonkeyupをチェックし、一致するものがハイフン( - )を挿入しているとします。

さらに、プラグインを使用してください。

0

あなたはMaskedTextBoxを使用して、代わりに通常のTextBoxコントロールの必要なマスクを設定する必要があります。

例: http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.aspx

+0

質問のタグは 'jquery'と' html'と 'ajax'です。 ASP.Netとは何が関係していますか? –

+0

@ T.J Crowder、明確化のためにありがとう。 jquery、html、ajax、または他の技術でこれを行うには "似たような"方法が必要なので、私はASP.NETを参照しました。これは上記のKruleの答えによって証明されています。 –

2

あなたがプラグインを使用したくない場合は、この操作を行うことができます。

$('#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を制限する必要が