web-dev-qa-db-ja.com

Javascriptでの数値入力を混乱させるコンマ

ユーザーが制御するいくつかの要素を含むページがあります。これらの1つはテキスト入力フィールドで、ユーザーが数値を入力することになっています。ユーザーが数字(EG 9000)のみを入力する場合はすべてうまくいきますが、ユーザーがコンマ表記(9,000である)を使用している場合、JavaScriptは入力を整数として受け取りません。

カンマを削除したり、入力を整数に強制するにはどうすればよいですか? parseint()を使用してみましたが、コンマでは機能しないようです。

29
MrGlass

グローバル正規表現を使用して、allコンマを空の文字列に置き換えます。

var str = "12,345,678";
str = str.replace(/,/g, "");
parseInt(str, 10);
55
adelphus

またはさらに良い

var s="jdjsghd0182.99";
var str = parseFloat(s.replace(/[^0-9 | ^.]/g, ''));
4
Venkat Reddy

または、ユーザー入力の一般的な信頼性が低いため、これを使用してすべての非数値文字を削除します。


var s = "9,Ljk876";
var t = parseInt(s.replace(/[^0-9]/g, ''));
alert ("s:" + s + ", t:" + t);
2
blankabout