数値データのみであることを検証する必要があるテキスト ボックス (価格用) があります。また、先行するゼロの数字 (01 など) を許可できません。そこで、replace メソッドを正規表現で使用しました。文字を置き換えるために、これが使用されました:
$("#txtPrice").keyup(function(){
var text=$(this).val();
$(this).val(text.replace(/[^\d\s\.]/,""));
});
前のゼロを置き換えるために、私は使用しました
$("#txtPrice").keyup(function(){
var text=$(this).val();
$(this).val(text.replace(/^0+/, ''));
});
Firefox では正常に動作しますが、IE では動作がおかしくなります。
数字の前に新しい数字を追加すると、新しい数字が数字の末尾に追加されます。たとえば、「56」を「156」に編集すると、最後に数字の 1 が追加されて「561」になります。数字を先頭に配置しようとすると、実際にはテキストフィールドの末尾に追加されます。この動作をどのように解決できますか?