私は、ユーザーが入力した$記号を自動的に削除したいという金額項目を持っています。たとえば、$ 50を置くとしたら - 50に自動的に変更したいと思います。彼らが$ 12.50に入れば、それは自動的に12.50に変更されます。
私は次のスクリプトがあります。
$('#searchAmt').on('keyup',function(){
var oldtxt = $(this).val();
var findtxt = '^[$]';
var newtxt = oldtxt.replace(new RegExp(findtxt, 'g'), '');
$(this).val(newtxt);
});
これは、ドル記号を削除するに動作しますが、それはまた、ユーザが置く任意の小数点以下を削除しているので、上記の例を使用して、それが50に$ 50を変更します$ 12.50から1250に変更されます。
これを使用している入力フィールドには、入力タイプnumberがあります。 Safari & Chromeでは、これによりユーザーは$ - を使用することができなくなりますが、FirefoxとIEでは、ユーザーは引き続き$を入れることができます。
ドットを削除し、コードのいくつかの他の部分があるようです。 '^ [$]'は、文字列の先頭にある '$'シンボルにのみマッチします。 –
'£'を入れるとどうなりますか?数字を探してそれを保つ方が良いのではないでしょうか。 – vlaz
関連コードを追加して明確にしてください。さもなければ、人々は無関係の回答を掲示するでしょう。 'keydown'機能コードを確認してください。 –