对不起,我在stackoverflow上找不到工作点替换。 人们要求更换
var str = '. 950.000.000, -';
str = str.replace(/\./gi, '');
alert(parseInt(str)); // yes, it works & will output correctly
但是,当我的'str'var是:Rp时,它不会起作用。 950.000, - 。它是我所在地区的货币格式,我想用它做数学。我这样做,而不是工作:
var str = 'Rp. 950.000, -';
str = str.replace(/\./gi, '');// i dont know, but the str values now is nothing
alert(parseInt(str)); // sure, it outputs nothing
我只想替换所有点(因此它不会影响数学运算,因为点是数字上的小数)。
答案 0 :(得分:2)
为什么不用\D
替换不是数字的所有内容?
var str = 'Rp. 950.000, -';
str = str.replace(/\D/gi, '');// i dont know, but the str values now is nothing
alert(parseInt(str, 10));
答案 1 :(得分:0)
删除字符串'Rp. 950.000, -'
中的所有点后,您将离开'Rp 950000, -'
。如果您尝试将此字符串用于parseInt()
,则会因为开头的字母和结尾处的其他字符而失败。如果要从字符串中删除所有非数字字符,可以使用以下内容:
str = str.replace(/\D/g, '');
此parseInt()
应该可以正常工作,并为您提供950000
。