-
-
Save hertz1/686e90aeffb4d166ab1a to your computer and use it in GitHub Desktop.
/** | |
* Remove acentos de strings | |
* @param {String} string acentuada | |
* @return {String} string sem acento | |
*/ | |
var map={"â":"a","Â":"A","à":"a","À":"A","á":"a","Á":"A","ã":"a","Ã":"A","ê":"e","Ê":"E","è":"e","È":"E","é":"e","É":"E","î":"i","Î":"I","ì":"i","Ì":"I","í":"i","Í":"I","õ":"o","Õ":"O","ô":"o","Ô":"O","ò":"o","Ò":"O","ó":"o","Ó":"O","ü":"u","Ü":"U","û":"u","Û":"U","ú":"u","Ú":"U","ù":"u","Ù":"U","ç":"c","Ç":"C"}; | |
function removerAcentos(s){ return s.replace(/[\W\[\] ]/g,function(a){return map[a]||a}) }; |
Abordagem muito interessante, não tinha visto ainda.
Muito bom, perfeito!
com ES6
fica mais fácil fazer essa alteração:
function removerAcentos(s) {
return s.normalize('NFD').replace(/[\u0300-\u036f]/g, "")
}
/[\u0300-\u036f]/g
esse trecho de código é uma expressão regular que pega o range dos acentos: ´
, ~
, ^
@alefhsousa sua função não substitui a acentuação, ela remove o caractere da string. Acho que o objetivo aqui é substituir por exemplo "ã" por "a"
Essa função ficou muito boa de ler, publiquei como resposta no stackoverflow que me trouxe até aqui.
https://pt.stackoverflow.com/questions/237762/remover-acentos-javascript/392565#392565
const removeAcentos = str => str.normalize('NFD').replace(/[\u0300-\u036f]/g, "")
funciona extremamente bem.
Excelente trabalho, @hertz1.
boa!
Valeu aí @yuritoledo e @alefhsousa funcionou perfeitamente!
@gufigueiredo esse método não removeu os caracteres, por incrível que pareça kk
Obrigado, ajudou muito 😄