JavaScript

Como remover acentos em JavaScript

7 de dezembro de 2020

Como remover acentos em JavaScript

Neste artigo você vai aprender a como remover acentos em JavaScript, com apenas uma linha de código, para utilizar no seu site!

Como remover acentos em JavaScript capa

Conteudo disponível em vídeo:

Fala programador(a), beleza? Bora aprender mais sobre expressões regulares e remoção de acentos em JavaScript!

Vamos utilizar uma expressão regular com uma gama de caracteres por meio do seu código

Com a função replace, os mesmos serão substituídos da string alvo

Veja uma representação na prática:

var texto = "Olá, está tudo bem?";

var semAcento = texto.normalize('NFD').replace(/[\u0300-\u036f]/g, "");

console.log(semAcento); // Ola, esta tudo bem?

Neste exemplo os acentos de á e de Olá e também á de está, são removidos

As letras são substituídas por suas versões sem acento, e assim resolvemos o problema de substituição de acentos com apenas uma linha

A função normalize retorna a Forma de Nomalização Uicode de uma string, que passamos para a função

Utilizamos como parâmetro NFD, que é Formato de Normalização Canônico de Decomposição

Por isso conseguimos eliminar os caracteres especiais com os códigos que seguem em replace na regex que inserimos nela

Se você quer saber mais sobre normalize e seus efeitos, veja este link, é da documentação do MDN

Conclusão

Neste artigo aprendemos como remover acentos em JavaScript

Utilizamos primeiramente a funçao normalize, que retorna a string em um Unicode determinado por nós

E então replace para substituir as ocorrências de acentos na string por a versão da letra sem acento

E então com uma linha conseguimos identificar os acentos e trocar na string, você pode inserir também esta sentença em uma função, reaproveitando em várias partes do seu código

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest
2 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Iury Abreu

Excelente!!

Battisti

valeu!

2
0
Would love your thoughts, please comment.x