用任何东西替换任何这些字符:''

时间:2015-11-19 23:27:15

标签: javascript regex

somevar = ' 150,00 $';
someothervar = '$25.0;

我想删除美元符号,空格,逗号或点。

尝试somevar.replace(/('$'|' '|,|\.)/g,'');返回15000 $(领先空格)。

所以看起来像是删除了逗号而不是其他所有内容?

我可以这样:

somevar.replace(/\$/g,'').replace(/ /g,'').replace(/,/g,'')

但肯定有一个更优雅的'方式是什么?

2 个答案:

答案 0 :(得分:2)

您可以使用/[$,.\s]/g

' 150,00 $'.replace(/[$,.\s]/g, '');
// "15000"

'$25.0'.replace(/[$,.\s]/g, '');
// "250"

您的正则表达式无法正常工作,因为您需要转义$字符,并删除单引号。您可以使用:/\$| |,|\./g

或者,您也可以使用/\D/g替换所有非数字字符:

' 150,00 $'.replace(/\D/g, '');
// "15000"

'$25.0'.replace(/\D/g, '');
// "250"

答案 1 :(得分:2)

我会:

var somePriceString = "$$2.903.5,,,3787.3";

console.log(somePriceString.replace(/\D/g,''));

如果我想删除任何非数字字符。