我有一个页面,其中包含一些由用户控制的元素。其中之一是文本输入字段,用户应该在其中输入一个数字。如果用户只输入数字(EG 9000),一切都很好,但是用户使用逗号表示法(即 9,000)javascript 不会将输入作为整数。
如何删除逗号和/或强制输入为整数?我尝试使用 parseint(),但它似乎不适用于逗号。
我有一个页面,其中包含一些由用户控制的元素。其中之一是文本输入字段,用户应该在其中输入一个数字。如果用户只输入数字(EG 9000),一切都很好,但是用户使用逗号表示法(即 9,000)javascript 不会将输入作为整数。
如何删除逗号和/或强制输入为整数?我尝试使用 parseint(),但它似乎不适用于逗号。
使用全局正则表达式将所有逗号替换为空字符串:
var str = "12,345,678";
str = str.replace(/,/g, "");
parseInt(str, 10);
甚至更好
var s="jdjsghd0182.99";
var str = parseFloat(s.replace(/[^0-9 | ^.]/g, ''));
或者甚至更好,鉴于用户输入的普遍不可靠性,使用它来摆脱所有非数字字符:
var s = "9,Ljk876";
var t = parseInt(s.replace(/[^0-9]/g, ''));
alert ("s:" + s + ", t:" + t);
或许
parseint(ny9000withCommas.replace(/\,/g,""))
让我们谈谈限制:
您可以/应该允许用户同时输入 9000 和 9,000
您可以通过 REGEX 检查有效性。
在服务器端 - 您应该删除逗号并将其视为整数。