Front-end

replace() não é raplaceAll(), criatura de Deus!

27 Jan 2014
14:05 | por Filipe Guarnieri

replace() não é raplaceAll(), criatura de Deus!

Olá pessoal. Um tempo atrás tive que remover 2 vírgulas de uma string, para poder transforma-la em uma variável numérica.

Porém quando fui utilizar a função replace() do javascript me indignei pois replace(), só substitui a 1ª ocorrência que ele acha na string. E quando fui procurar no tio Google como pegar todas as ocorrências encontradas, os 1º links de "replaceAll javascript" mostram o uso do while() para fazer isso.

Porém lendo mais na MDN, vi que pode usar expressões regulares na string de comparação. Então você pode fazer tudo apenas usando 1 variável(se quiser), 1 replace() com expressão regular e um parseInt() para converter em uma variável numérica.

Exemplo:

var valor = 'R$ 10.000.000.000,00';
valor = valor.replace(/[R$ .]/g, '');
alert(parseInt(valor));

Apenas para lembrar que esse código serve apenas para pegar o valor sem os centavos, caso queira adicionar os centavos do valor, apenas adicionar a vírgula na expressão regular

Filipe Guarnieri

Filipe Guarnieri

Desenvolver Front-end na Ibaro. Amo HTML, CSS e J-Éssi.

TwitterGitHub? Seja o que for... Me ensine para eu ensinar a outros.

Comentários

Poste aqui seu comentário, crítica, dúvida ou sugestão. .
Promovam um debate sadio pois comentários ofensivos serão removidos.