{"id":37781,"date":"2025-07-16T12:14:57","date_gmt":"2025-07-16T15:14:57","guid":{"rendered":"https:\/\/www.locaweb.com.br\/ajuda\/?post_type=ht_kb&#038;p=37781"},"modified":"2025-07-16T12:14:57","modified_gmt":"2025-07-16T15:14:57","slug":"trim-javascript","status":"publish","type":"ht_kb","link":"https:\/\/www.locaweb.com.br\/ajuda\/wiki\/trim-javascript\/","title":{"rendered":"Fun\u00e7\u00e3o trim() no JavaScript: como usar corretamente"},"content":{"rendered":"<p>O<strong> trim() no JavaScript <\/strong>\u00e9 uma fun\u00e7\u00e3o essencial para remover espa\u00e7os desnecess\u00e1rios em strings.<\/p>\n<p>Usado para limpar entradas de usu\u00e1rio ou garantir dados consistentes, o m\u00e9todo <em>trim()<\/em> elimina espa\u00e7os no in\u00edcio e no final de uma string, enquanto mant\u00e9m o conte\u00fado intacto.<\/p>\n<p>Neste texto, voc\u00ea vai descobrir como usar o<strong> trim()<\/strong> de forma eficiente, com exemplos pr\u00e1ticos e dicas \u00fateis.<\/p>\n<h2>Exemplos pr\u00e1ticos do uso da fun\u00e7\u00e3o trim()<\/h2>\n<p>Conhe\u00e7a algumas formas de usar a fun\u00e7\u00e3o trim().<\/p>\n<h3>Remova espa\u00e7os no in\u00edcio e no final de uma string<\/h3>\n<p>A forma mais b\u00e1sica da fun\u00e7\u00e3o <em>trim()<\/em> \u00e9 usada para remover espa\u00e7os no in\u00edcio e no final de uma string, conforme o exemplo:<\/p>\n<pre><em>let texto = \" Ol\u00e1, mundo! \";<\/em>\r\n\r\n<em>let resultado = texto.trim();<\/em>\r\n\r\n<em>console.log(resultado); \/\/ \"Ol\u00e1, mundo!\"<\/em><\/pre>\n<p>Aqui, os espa\u00e7os antes de \u2018<strong>Ol\u00e1<\/strong>\u2019 e ap\u00f3s \u2018<strong>mundo<\/strong>!\u2019 s\u00e3o removidos para manter s\u00f3 o conte\u00fado relevante.<\/p>\n<h3>Corrija inputs de usu\u00e1rios em formul\u00e1rios<\/h3>\n<p>A fun\u00e7\u00e3o <em>trim()<\/em> \u00e9 \u00fatil para corrigir entradas de usu\u00e1rios em formul\u00e1rios, onde \u00e9 comum haver espa\u00e7os extras. O uso do <em>trim()<\/em> pode garantir que os dados recebidos estejam limpos e prontos para processamento.<\/p>\n<p>Exemplo:<\/p>\n<pre><em>let nome = \" Leandro Alves \";<\/em>\r\n\r\n<em>nome = nome.trim();<\/em>\r\n\r\n<em>console.log(nome); \/\/ \"Leandro Alves\"<\/em><\/pre>\n<p>Nesse caso, os espa\u00e7os antes e depois do nome s\u00e3o removidos, para manter a entrada formatada corretamente antes de ser enviada ao banco de dados.<\/p>\n<h3>Limpe valores antes de salvar no banco de dados<\/h3>\n<p>Antes de salvar informa\u00e7\u00f5es no banco de dados ou ao preparar informa\u00e7\u00f5es para a <a href=\"https:\/\/www.locaweb.com.br\/hospedagem-de-sites-com-dominio-gratis\/\" target=\"_blank\" rel=\"noopener noreferrer\">hospedagem de <\/a><a href=\"https:\/\/www.locaweb.com.br\/hospedagem-de-sites-com-dominio-gratis\/\" target=\"_blank\" rel=\"noopener noreferrer\">site<\/a>, \u00e9 importante excluir espa\u00e7os indesejados. A fun\u00e7\u00e3o <em>trim()<\/em> pode limpar esses valores e evitar inconsist\u00eancias nos registros.<\/p>\n<p>Exemplo:<\/p>\n<pre><em>let email = \" usuario@exemplo.com \";<\/em>\r\n\r\n<em>email = email.trim();<\/em>\r\n\r\n<em>\/\/ Salvar no banco de dados<\/em>\r\n\r\n<em>console.log(email); \/\/ \"usuario@exemplo.com\"<\/em><\/pre>\n<p>Ao aplicar<em> trim()<\/em>, asseguramos um email sem espa\u00e7os extras, o que evita problemas de compara\u00e7\u00e3o e inconsist\u00eancias ao recuperar os dados futuramente.<\/p>\n<h3>Uso do trim() dentro de uma fun\u00e7\u00e3o de valida\u00e7\u00e3o de dados<\/h3>\n<p>O uso da fun\u00e7\u00e3o <em>trim()<\/em> dentro de uma fun\u00e7\u00e3o de valida\u00e7\u00e3o de dados ajuda a garantir que os valores fornecidos pela pessoa usu\u00e1ria estejam limpos antes de qualquer processamento adicional.<\/p>\n<p>Isso \u00e9 essencial para evitar erros e incoer\u00eancias, como no exemplo:<\/p>\n<pre><em>function validarEmail(email) {<\/em>\r\n\r\n<em> email = email.trim();<\/em>\r\n\r\n<em> if (email === \"\") {<\/em>\r\n\r\n<em> return \"O campo de email n\u00e3o pode estar vazio.\";<\/em>\r\n\r\n<em> }<\/em>\r\n\r\n<em> return \"Email v\u00e1lido!\";<\/em>\r\n\r\n<em>}<\/em><\/pre>\n<p><em>console.log(validarEmail(&#8221; exemplo@dominio.com &#8220;)); \/\/ &#8220;Email v\u00e1lido!&#8221;<\/em><\/p>\n<p>Aqui, <em>trim()<\/em> remove os espa\u00e7os extras e garante que o email seja validado corretamente.<\/p>\n<h2>Alternativas ao trim() para remover espa\u00e7os espec\u00edficos<\/h2>\n<h3>`trimStart()` e `trimEnd()` (antigos `ltrim()` e `rtrim()`)<\/h3>\n<p>Al\u00e9m da fun\u00e7\u00e3o <em>trim()<\/em>, o <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/o-que-e-javascript\/\" target=\"_blank\" rel=\"noopener noreferrer\">JavaScript<\/a> oferece as fun\u00e7\u00f5es <em>trimStart()<\/em> e <em>trimEnd()<\/em>, que permitem remover espa\u00e7os espec\u00edficos apenas no in\u00edcio ou no final da string, respectivamente. Com esses m\u00e9todos, voc\u00ea<strong> controla de forma mais precisa quais espa\u00e7os remover<\/strong>.<\/p>\n<p>Exemplo:<\/p>\n<pre><em>let texto = \" Ol\u00e1, mundo! \";<\/em>\r\n\r\n<em>let inicioCorrigido = texto.trimStart();<\/em>\r\n\r\n<em>let fimCorrigido = texto.trimEnd();<\/em>\r\n\r\n<em>console.log(inicioCorrigido); \/\/ \"Ol\u00e1, mundo! \"<\/em>\r\n\r\n<em>console.log(fimCorrigido); \/\/ \" Ol\u00e1, mundo!\"<\/em><\/pre>\n<p>Com o uso de <em>trimStart()<\/em> e <em>trimEnd()<\/em>, voc\u00ea remove espa\u00e7os apenas nas extremidades desejadas.<\/p>\n<h3>Remova todos os espa\u00e7os de uma string (inclusive entre palavras)<\/h3>\n<p>Se voc\u00ea deseja remover todos os espa\u00e7os de uma string, inclusive entre as palavras, pode usar o m\u00e9todo <em>replace()<\/em> com uma express\u00e3o regular (<em>Regex<\/em>), para eliminar todos os espa\u00e7os, sem exce\u00e7\u00f5es.<\/p>\n<p>Exemplo:<\/p>\n<pre><em>let texto = \" Ol\u00e1, mundo! Como vai? \";<\/em>\r\n\r\n<em>let semEspacos = texto.replace(\/\\s+\/g, '');<\/em>\r\n\r\n<em>console.log(semEspacos); \/\/ \"Ol\u00e1,mundo!Comovai?\"<\/em><\/pre>\n<p>Nesse caso, a express\u00e3o regular <em>\/\\s+\/g<\/em> encontra todos os espa\u00e7os \u2014 ou sequ\u00eancias de espa\u00e7os \u2014 e os substitui por uma string vazia, enquanto remove todos os espa\u00e7os da string original.<\/p>\n<h2>Como criar um polyfill para o m\u00e9todo trim()?<\/h2>\n<p>Para garantir o funcionamento da fun\u00e7\u00e3o <em>trim()<\/em> em navegadores mais antigos que n\u00e3o a suportam, pode criar um polyfill. Essa \u00e9 uma maneira de implementar recursos modernos em ambientes que n\u00e3o os oferecem nativamente.<\/p>\n<p>Aqui est\u00e1 um exemplo de polyfill para o m\u00e9todo <em>trim()<\/em>:<\/p>\n<pre><em>if (!String.prototype.trim) {<\/em>\r\n\r\n<em> String.prototype.trim = function() {<\/em>\r\n\r\n<em> return this.replace(\/^\\s+|\\s+$\/g, '');<\/em>\r\n\r\n<em> };<\/em>\r\n\r\n<em>}<\/em><\/pre>\n<p>Esse c\u00f3digo verifica se o modelo <em>trim()<\/em> j\u00e1 est\u00e1 dispon\u00edvel no prot\u00f3tipo de <em>String<\/em>. Se n\u00e3o estiver, ele define uma vers\u00e3o pr\u00f3pria, que usa uma express\u00e3o regular para remover os espa\u00e7os no in\u00edcio (<em>^\\s+<\/em>) e no final (<em>\\s+$<\/em>) da string.<\/p>\n<p>Assim, a funcionalidade fica dispon\u00edvel mesmo em navegadores mais antigos.<\/p>\n<h2>Compatibilidade do m\u00e9todo trim() entre navegadores<\/h2>\n<p>O m\u00e9todo <em>trim()<\/em> \u00e9<strong> amplamente compat\u00edvel com navegadores modernos<\/strong>, como Google Chrome, Firefox, Safari e Edge.<\/p>\n<p>No entanto, o m\u00e9todo n\u00e3o est\u00e1 dispon\u00edvel em vers\u00f5es antigas do Internet Explorer, como IE 8 ou anteriores. Nesses casos, usar um polyfill, como mostrado anteriormente, sustenta a compatibilidade.<\/p>\n<p>A partir do IE 9, o m\u00e9todo <em>trim()<\/em> \u00e9 suportado nativamente. Portanto, ao desenvolver para o p\u00fablico atual, o <em>trim()<\/em> pode ser usado sem grandes preocupa\u00e7\u00f5es, desde que considere usu\u00e1rios de vers\u00f5es muito antigas do IE.<\/p>\n<h2>O que \u00e9 o m\u00e9todo trim() no JavaScript?<\/h2>\n<p>O m\u00e9todo <em>trim() <\/em>no JavaScript \u00e9<strong> utilizado para remover espa\u00e7os em branco do in\u00edcio e do final de uma string<\/strong>, sem alterar os espa\u00e7os no meio. Al\u00e9m de espa\u00e7os, isso inclui quebras de linha e tabula\u00e7\u00f5es.<\/p>\n<p>Por exemplo:<\/p>\n<pre><em>let texto = \" Ol\u00e1, mundo! \";<\/em>\r\n\r\n<em>let resultado = texto.trim();<\/em>\r\n\r\n<em>console.log(resultado); \/\/ \"Ol\u00e1, mundo!\"<\/em><\/pre>\n<p>Esse m\u00e9todo \u00e9 aplic\u00e1vel para <strong>limpar entradas de usu\u00e1rio<\/strong> em formul\u00e1rios,<strong> conferir consist\u00eancia de dados<\/strong> antes de salvar no banco ou <strong>remover espa\u00e7os extras <\/strong>ao trabalhar com strings. Assim, evita erros causados por espa\u00e7os desnecess\u00e1rios.<\/p>\n<h2>Como funciona a fun\u00e7\u00e3o trim()?<\/h2>\n<h3>Sintaxe e retorno da fun\u00e7\u00e3o trim()<\/h3>\n<p>A sintaxe da fun\u00e7\u00e3o <em>trim()<\/em> \u00e9 simples: basta cham\u00e1-la diretamente em uma string. O m\u00e9todo <strong>n\u00e3o recebe par\u00e2metros e retorna uma nova string com os espa\u00e7os removidos <\/strong>apenas nas extremidades, sem modificar a original.<\/p>\n<p>Exemplo:<\/p>\n<pre><em>let texto = \" Exemplo \";<\/em>\r\n\r\n<em>let resultado = texto.trim();<\/em>\r\n\r\n<em>console.log(resultado); \/\/ \"Exemplo\"<\/em><\/pre>\n<p>O retorno \u00e9 uma string original, limpa de espa\u00e7os nas pontas.<\/p>\n<h3>A fun\u00e7\u00e3o trim() remove todos os espa\u00e7os?<\/h3>\n<p>N\u00e3o, a fun\u00e7\u00e3o <em>trim()<\/em> remove<strong> apenas os espa\u00e7os no in\u00edcio e no final da string<\/strong>, sem afetar os espa\u00e7os internos. Ou seja, se h\u00e1 espa\u00e7os entre palavras ou caracteres, eles permanecem.<\/p>\n<p>Exemplo:<\/p>\n<pre><em>let texto = \" Seu cadastro foi validado! \";<\/em>\r\n\r\n<em>let resultado = texto.trim();<\/em>\r\n\r\n<em>console.log(resultado); \/\/ \"Seu cadastro foi validado!\"<\/em><\/pre>\n<p>Neste caso, o espa\u00e7o no meio da string n\u00e3o \u00e9 alterado.<\/p>\n<h3>Diferen\u00e7a entre trim(), trimStart() e trimEnd()<\/h3>\n<p>A diferen\u00e7a entre <em>trim()<\/em>, <em>trimStart()<\/em> e <em>trimEnd()<\/em> est\u00e1 no<strong> local onde removem os espa\u00e7os<\/strong>.<\/p>\n<p>O <em>trim()<\/em> remove os espa\u00e7os nas duas extremidades da string. J\u00e1 o <em>trimStart()<\/em> remove apenas os espa\u00e7os do in\u00edcio, e o <em>trimEnd()<\/em> remove apenas do final.<\/p>\n<p>Exemplo:<\/p>\n<pre><em>let texto = \" Fazer publica\u00e7\u00e3o agora. \";<\/em>\r\n\r\n<em>console.log(texto.trimStart()); \/\/ \"Fazer publica\u00e7\u00e3o agora. \"<\/em>\r\n\r\n<em>console.log(texto.trimEnd()); \/\/ \" Fazer publica\u00e7\u00e3o agora.\"<\/em><\/pre>\n<p>Cada um tem uma aplica\u00e7\u00e3o espec\u00edfica para limpeza de espa\u00e7os.<\/p>\n<h2>Erros comuns ao usar trim() e como evit\u00e1-los<\/h2>\n<h3>Usar `trim()` em valores `null` ou `undefined<\/h3>\n<p>Tentar usar o m\u00e9todo <em>trim()<\/em> em valores <em>null <\/em>ou <em>undefined <\/em>pode gerar erros, pois esses valores n\u00e3o t\u00eam o m\u00e9todo <em>trim()<\/em>. Para evitar isso, \u00e9 importante verificar se o valor \u00e9 uma string antes de aplicar o <em>trim()<\/em>.<\/p>\n<p>Exemplo de verifica\u00e7\u00e3o:<\/p>\n<pre><em>let texto = null;<\/em>\r\n\r\n<em>if (texto &amp;&amp; typeof texto === 'string') {<\/em>\r\n\r\n<em> let resultado = texto.trim();<\/em>\r\n\r\n<em> console.log(resultado);<\/em>\r\n\r\n<em>} else {<\/em>\r\n\r\n<em> console.log('Valor inv\u00e1lido!');<\/em>\r\n\r\n<em>}<\/em><\/pre>\n<h3>Confundir `trim()` com `replace()`<\/h3>\n<p>Embora <em>trim()<\/em> remova apenas espa\u00e7os no in\u00edcio e no final da string, <strong>replace()<\/strong><strong> pode ser usado para substituir espa\u00e7os em qualquer parte <\/strong>da string, inclusive no meio.<\/p>\n<p>Ent\u00e3o, usar <em>replace() <\/em>para simular o comportamento do <em>trim()<\/em> pode resultar em substitui\u00e7\u00f5es indesejadas.<\/p>\n<p>Exemplo incorreto com<em> replace()<\/em>:<\/p>\n<pre><em>let texto = \" Ol\u00e1, mundo! \";<\/em>\r\n\r\n<em>let resultado = texto.replace(\/^\\s+|\\s+$\/g, ''); \/\/ Usar replace aqui n\u00e3o \u00e9 necess\u00e1rio.<\/em>\r\n\r\n<em>console.log(resultado); \/\/ \"Ol\u00e1, mundo!\"<\/em><\/pre>\n<p>O <em>trim()<\/em> \u00e9 mais direto para o prop\u00f3sito de limpar as extremidades.<\/p>\n<h3>Problemas ao remover espa\u00e7os em strings multilinhas<\/h3>\n<p>O <em>trim()<\/em> remove espa\u00e7os nos limites de uma string, mas, em strings multilinhas, ele<strong> n\u00e3o remove os espa\u00e7os no in\u00edcio de cada linha<\/strong>.<\/p>\n<p>Isso pode ser um problema se voc\u00ea quiser limpar uma string formatada com m\u00faltiplas linhas.<\/p>\n<p>Exemplo:<\/p>\n<pre><em>let texto = ` Ol\u00e1,<\/em>\r\n\r\n<em> mundo! `;<\/em>\r\n\r\n<em>let resultado = texto.trim();<\/em>\r\n\r\n<em>console.log(resultado); \/\/ \"Ol\u00e1,\\n mundo!\"<\/em><\/pre>\n<p>Para limpar o in\u00edcio de cada linha, \u00e9 preciso usar um m\u00e9todo adicional, como <em>replace()<\/em> com uma express\u00e3o regular.<\/p>\n<p>Gostou do conte\u00fado? Aproveite e aprofunde tamb\u00e9m na <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/evolucao-do-javascript\/\" target=\"_blank\" rel=\"noopener noreferrer\">evolu\u00e7\u00e3o do JavaScript<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O trim() no JavaScript \u00e9 uma fun\u00e7\u00e3o essencial para remover espa\u00e7os desnecess\u00e1rios em strings. Usado para limpar entradas de usu\u00e1rio ou garantir dados consistentes, o m\u00e9todo trim() elimina espa\u00e7os no in\u00edcio e no final de uma string, enquanto mant\u00e9m o conte\u00fado intacto. Neste texto, voc\u00ea vai descobrir como usar o&#8230;<\/p>\n","protected":false},"author":48,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[119],"ht-kb-tag":[],"class_list":["post-37781","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-hospedagem-de-sites"],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/comments?post=37781"}],"version-history":[{"count":1,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37781\/revisions"}],"predecessor-version":[{"id":37782,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37781\/revisions\/37782"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/media?parent=37781"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-category?post=37781"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-tag?post=37781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}