-
-
Save marioplumbarius/6923123 to your computer and use it in GitHub Desktop.
/** | |
* Remove acentos de caracteres | |
* @param {String} stringComAcento [string que contem os acentos] | |
* @return {String} [string sem acentos] | |
*/ | |
function removerAcentos( newStringComAcento ) { | |
var string = newStringComAcento; | |
var mapaAcentosHex = { | |
a : /[\xE0-\xE6]/g, | |
e : /[\xE8-\xEB]/g, | |
i : /[\xEC-\xEF]/g, | |
o : /[\xF2-\xF6]/g, | |
u : /[\xF9-\xFC]/g, | |
c : /\xE7/g, | |
n : /\xF1/g | |
}; | |
for ( var letra in mapaAcentosHex ) { | |
var expressaoRegular = mapaAcentosHex[letra]; | |
string = string.replace( expressaoRegular, letra ); | |
} | |
return string; | |
} |
@hertz1 Valeu.
Muito foda! Obrigado a todos dessa gist
Vlw cara Muito boa
Muito boa cara, valeu!
Precisei de algo parecido recentemente, mas eu precisava gerar classes, pegar o título de um produto e gerar uma classe com esse título, no caso removendo acentos e trocando espaços por "-", usei sua dica e a do @lelotnk, vou deixar aqui caso mais alguém precise:
String.prototype.GeraClass = function() {
var string = this.replace(/^\s+|\s+$/g, "");
var mapaAcentosHex = {
a : /[\xE0-\xE6]/g,
A : /[\xC0-\xC6]/g,
e : /[\xE8-\xEB]/g,
E : /[\xC8-\xCB]/g,
i : /[\xEC-\xEF]/g,
I : /[\xCC-\xCF]/g,
o : /[\xF2-\xF6]/g,
O : /[\xD2-\xD6]/g,
u : /[\xF9-\xFC]/g,
U : /[\xD9-\xDC]/g,
c : /\xE7/g,
C : /\xC7/g,
n : /\xF1/g,
N : /\xD1/g
};
for ( var letra in mapaAcentosHex ) {
var expressaoRegular = mapaAcentosHex[letra];
string = string.replace( expressaoRegular, letra );
}
string = string.split(' ').join('-').toLowerCase();
return string;
}
//String de teste:
'têsÇâõ Testè'.GeraClass()
Muito foda. Parabéns!
Alguém pode add uma para remover as virgulas?!
Muito bom, me ajudou muito. Parabéns!
Código em php caso alguém precise: https://gist.github.com/diefferson/d745ec0ce13a5565de2882b99405e2cd
Tem outra opção
CREATE EXTENSION unaccent;
SELECT unaccent('èéêë comunicação');
RETORNA
"eeee comunicacao";
boa @diefferson alguém tem para Golang?
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: ´
, ~
, ^
Muito bom, valewzão!!!
Muito bom! Parabéns!
Era o que eu estava precisando haha obrigado!
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:´
,~
,^
Melhor solução possível!
Não quero ser perfeccionista, a direção da solução está perfeita, porém faltaria esta solução remover a acentuação apenas, sem a composição da letra => `^~ ...
Não sei se é a melhor forma, mas atendeu aqui pra mim!
function removerAcentos(s) { return s.normalize('NFD').replace(/[\u0300-\u036f|\u00b4|\u0060|\u005e|\u007e]/g, "") }
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:´
,~
,^
Obrigado (y)
Muito obrigado ajudou de mais ainda mais os outro modelos abordado pela pessoal. (y)
Ajudou bastante, valeu.
eu precisava deixar um texto simples com traços ai usei um replace e toLowerCase() junto
var replace = nameSH.replace(/\ /g, "-");
var finalString = replace.toLowerCase();
para-o-texto-ficar-assim
Salvou aqui! Muito boa!
Pessoal, cuidado com a função abaixo, não é compatível com android webview nem internet explorer
s.normalize('NFD')
Se o seu site for aberto através de um webview (pode ser aberto em apps onde seus anúncios aparecem)
Valide a existência da função em strings:
if("".normalize){ seuTexto.normalize('NFD')... }
Usando esse script com a alteração do @lelotnk, fiz uma função para criar slugs em JS: https://gist.github.com/jesobreira/d769aab503847e014b3c
Me ajudou demais essa função! só tive que passá-la para Typescript... segue o link, caso alguém precise:
https://gist.github.com/GiovannyLucas/8af0365b9978c667f875e34741d49818
E se eu quiser remover o conteúdo de uma table html inteira? Como que faço?
Muito bom, ajudou bastante!
Muito Obrigado!
Uma versão mais compacta, com apenas 2 linhas:
https://gist.github.com/hertz1/686e90aeffb4d166ab1a