post #4646
Limpar e Formatar Texto para URL ou Nome de Arquivo com Javascript
Publicado em: 07/03/2024 / Atualizado em: 07/03/2024
Se você precisa converter um nome ou frase em algo compatível com a URL ou para gerar nome de arquivo para realizar o upload desse arquivo com uma formatação mais compatível com a web, esse código abaixo pode te ajudar:
function formatarTextoURL(texto) { const mapaAcentos = { 'á': 'a', 'à': 'a', 'ã': 'a', 'â': 'a', 'ä': 'a', 'é': 'e', 'è': 'e', 'ê': 'e', 'ë': 'e', 'í': 'i', 'ì': 'i', 'î': 'i', 'ï': 'i', 'ó': 'o', 'ò': 'o', 'õ': 'o', 'ô': 'o', 'ö': 'o', 'ú': 'u', 'ù': 'u', 'û': 'u', 'ü': 'u', 'ç': 'c', 'ñ': 'n', 'Á': 'A', 'À': 'A', 'Ã': 'A', 'Â': 'A', 'Ä': 'A', 'É': 'E', 'È': 'E', 'Ê': 'E', 'Ë': 'E', 'Í': 'I', 'Ì': 'I', 'Î': 'I', 'Ï': 'I', 'Ó': 'O', 'Ò': 'O', 'Õ': 'O', 'Ô': 'O', 'Ö': 'O', 'Ú': 'U', 'Ù': 'U', 'Û': 'U', 'Ü': 'U', 'Ç': 'C', 'Ñ': 'N' }; texto = texto.split('').map(letra => mapaAcentos[letra] || letra).join(''); texto = texto.toLowerCase(); texto = texto = texto.replace(/[\s\/]+/g, '-').replace(/[^a-z0-9-]/g, '').replace(/-+/g, '-'); return texto; }
Para executar o código de formatação de nome para URL ou Arquivo, basta executar a função com o texto dentro, como no exemplo abaixo:
formatarTextoURL('Texto de teste para adicionar na seção');
O retorno será exatamente este:
texto-de-teste-para-adicionar-na-secao
No exemplo acima, os espaços foram substituídos por hífen (-), alem de deixar todo o texto em minusculo e retirar caracteres especiais como ç e acentos.
Veja a imagem abaixo do teste executado no console do navegador:

Publicações recomendadas:
Inscreva-se em Nossa News:
Seja notificando sempre que tiver conteúdo novo disponível no meu canal do Youtube ou artigo no meu Blog.

Link Curto para Compartilhamento
Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link curto abaixo. Basta clicar em cima do link para copiar.
bruno.art.br/pb/4646
ID de Referência: 4646
Sugira uma publicação
Envie uma mensagem e sugira um publicação sobre um assunto que tenha dificuldades de resolver.