表示货币的字符串将转换为数字。 例如:
Input : "125.632.454.454.403,51"
Output expected : 125632454454403.51
目前我正在尝试:
试用1)
a = "125.632.454.454.403,51";
a.replace(/./, '');
结果=" 25.632.454.454.403,51"
试用2)
a = "125.632.454.454.403,51";
a.replace(/./g, '');
结果=""
但是我希望替换函数可以找到"。"的所有出现次数。并替换为""。
试用3)
a = "125.632.454.454.403,51";
a.replace(/,/, '');
结果=" 125.632.454.454.40351"
如果我找到解决办法,我会很高兴。
答案 0 :(得分:1)
您需要使用\.
代替.
。 dot (.
) 匹配单个字符,而不关心该字符是什么。您也可以使用单个 replace()
进行回调。
var str = "125.632.454.454.403,51";
str = str.replace(/\.|,/g, function(m) {
return m == '.' ? '' : '.'
});
document.write(str);

答案 1 :(得分:1)
尝试:
var str = "125.632.454.454.403,51" ;
var result = str.replace(/\./g,'').replace(/\,/g,'.');
console.log(Number(result))
答案 2 :(得分:0)
replace
返回已更改的字符串,它不会就地更改它!
您可以参考documentation。
找到这个答案 3 :(得分:0)
使用
var Result = a.split('.').join("");
console.log(Result);
答案 4 :(得分:0)
.
在正则表达式中具有特定含义。它匹配任何角色。如果你实际上在寻找角色本身,你需要逃离点
var a = "125.632.454.454.403,51";
var result = a.replace(/\./g,"");
答案 5 :(得分:0)
你也可以(parseFloat(a.replace(/[^0-9]+/g,""))/100)
如果您必须为多种货币执行此操作,我建议您查看autonumeric.js。它为您处理所有这些。