これは私の現在のコードであり、ユーザーが入力したときに入力から$、コンマ、ドットを除くすべての非数値文字を削除します。
<input type="text" id="price" name="price" onkeyup="updatePrice(this.value)">
function updatePrice(p) {
document.getElementById("price").value = p.replace(/[^0-9$.,]/g, '');
}
問題は、文字を入力すると文字が削除されるため、Aと入力すると、文字が消える前にほんの一瞬だけ表示されることです。キーダウンは、入力が実際に変更される前にスクリプトを実行するため、適切ではありません。
これらの禁止文字が入力に表示されないようにするにはどうすればよいですか?