フォームフィールドでドル金額の書式を設定するために頻繁に使用するJavaScriptの既存の行を変更しようとしています(入力しなくてもセントが表示されます)。JavaScriptから数値以外の部分または小数部分を削除する
<input maxlength="7" name="dollarvalue" size="8" onChange="javascript:this.value=parseFloat(this.value).toFixed(2);" />
を...しかし、何かが数字または小数以外の入力された場合、それは壊れる...ので、私はおそらく禁止文字をフィルタリングするstr.replace()
を追加すると考えていた:私は長年のためにこれを使用しています。必要に応じてフォームフィールドにこの1行を簡単に追加できるように、完全に自己完結型である必要があります(onChange
)。私はこれまでのところ、数字のためにはまだ動作しますが、他のものを取り除いているわけではありません。私は間違って何をしていますか?
<input maxlength="7" name="dollarvalue" size="8" onChange="javascript:this.value=parseFloat(this.value.replace('/[^0-9\.]+/g','')).toFixed(2);" />
地球上であなたはなぜ:あなたは、あなたの正規表現を引用してはならないので、全体の二行目があるべき – nnnnnn
なぜダウン投票?私はこれをページあたり最大1回しか使用しません。他の依存関係を必要とせずに簡単にプロジェクトに貼り付けることができます。私はそれを悪用しているわけではありません。私は、すぐに着信価値をフォーマットしたいという機会に使うためには、非常にポータブルなものが必要です。 – techtheatre
私はdownvoteしませんでした(私は決してdownvotedしていない、とにかく私はあなたの投稿はdownvoteに値するとは思わない)。人々はしばしば正当な理由なくダウンボートしています。数時間前に誰かが説明を残さずに私の古い質問と答えをしました。何人かの人々は_建設的な批判の概念を理解していないだけです... – nnnnnn