Como aparo uma string em JavaScript?
javascript
string
trim
Vinod
fonte
fonte
String.trim()
também funciona perfeitamente no Node.js.String.trim()
o método da classe, não existe no ES5 / Node.js; em vez disso,String.prototype.trim()
o método da instância existe. Uso:,' foo '.trim()
nãoString.trim(' foo ')
.$.trim(str)
está sempre disponível.Respostas:
Todos os navegadores desde o IE9 + têm
trim()
método para seqüências de caracteres.Para os navegadores que não suportam
trim()
, você pode usar este polyfill do MDN :Dito isto, se estiver usando
jQuery
,$.trim(str)
também está disponível e lida com indefinido / nulo.Veja isso:
fonte
$.trim(str)
está sempre disponível.A guarnição do jQuery é conveniente se você já estiver usando essa estrutura.
Eu costumo usar o jQuery com frequência, portanto, cortar cordas com ele é natural para mim. Mas é possível que exista reação contra o jQuery por aí? :)
fonte
Embora existam
String
várias respostas corretas acima, deve-se observar que o objeto em JavaScript possui um.trim()
método nativo a partir do ECMAScript 5 . Assim, idealmente, qualquer tentativa de criar um protótipo do método de corte deve realmente verificar se ele já existe primeiro.Adicionado nativamente em: JavaScript 1.8.1 / ECMAScript 5
Assim suportado em:
Firefox: 3.5 ou superior
Safari: 5+
Internet Explorer: IE9 + (somente no modo de padrões!) Http://blogs.msdn.com/b/ie/archive/2010/06/25/enhanced-scripting-in-ie9-ecmascript-5-support-and-more .aspx
Chrome: mais de 5
Opera: 10.5+
Tabela de suporte do ECMAScript 5: http://kangax.github.com/es5-compat-table/
fonte
Existem muitas implementações que podem ser usadas. O mais óbvio parece ser algo assim:
fonte
Versão simples aqui O que é uma função geral para o ajuste de JavaScript?
fonte
Se a resposta ajudou de alguma forma, por favor, marque como resposta, caso a sua dúvida não tenha sido solucionada, por favor, poste novamente
String.trim()
.fonte
Se você estiver usando jQuery, use a
jQuery.trim()
função Por exemplo:fonte
O Flagrante Badassery possui 11 acabamentos diferentes com informações de referência:
http://blog.stevenlevithan.com/archives/faster-trim-javascript
Não surpreendentemente baseado em regexp é mais lento que o loop tradicional.
Aqui está o meu pessoal. Este código é antigo! Eu o escrevi para JavaScript1.1 e Netscape 3 e foi atualizado apenas um pouco desde então. (Original usado String.charAt)
fonte
Use os métodos nativos JavaScript:
String.trimLeft()
,String.trimRight()
, eString.trim()
.String.trim()
é suportado no IE9 + e em todos os outros principais navegadores :String.trimLeft()
eString.trimRight()
não são padrão, mas são compatíveis com todos os principais navegadores, exceto o IENo entanto, o suporte ao IE é fácil com um polyfill:
fonte
trimLeft
outrimRight
.lTrim()
erTrim()
métodos.Roubado descaradamente de Matt duereg .
fonte
Agora, nos dias em que você pode usar string.trim () que é a implementação nativa de Javascript
Veja também
fonte
Código de apara do projeto js angular
e chame como
trim(" hello ")
fonte
use simplesmente código
Suporte do navegador
Para navegador antigo, adicione protótipo
fonte
replace
função regexp. eu não entendi completamente. você gostaria de explicar um pouco mais a parte regexp?Aqui está uma maneira muito simples:
fonte
trim
deve remover apenas os espaços em branco à esquerda e à direita (que incluem guias e outros caracteres). Em vez disso, remove todos os espaços, incluindo os do meio.Usar
trim()
a String nativa pode ser a maneira mais fácil:fonte
Você pode simplesmente declarar sua variável como string e usar a função trim:
fonte
Hoje, praticamente todos os navegadores suportam
String.prototype.trim()
.Você o usa assim:
Caso você ainda precise dar suporte a um navegador antigo que não suporta esse recurso, este é um polyfill sugerido pelo MDN:
fonte
Eu tenho uma lib que usa guarnição. resolveu usando o seguinte código.
fonte
.trim()
método igual ao nativoString.prototype.trim
que já foi definidoreturn jQuery.trim(this)
, criando assim um estouro de pilha.Das respostas anteriores, difere a adição de sinalizador
m
.A bandeira
m
pesquisará o texto de várias lineares. Nesse modo, a marca no início e no final do padrão (^
$
) é inserida antes e depois do caractere de nova linha (\n
).fonte
Você pode fazer isso usando o JavaScript simples:
fonte
Agora trim () é construído em javascript.
apenas console ou código de impressão, seu nome também será aparado.
fonte
Não sei o que os bugs podem esconder aqui, mas eu uso isso:
Ou isso, se o texto contiver digitar:
Outra tentativa:
fonte
Aqui está no TypeScript:
Ele retornará à regex se o protótipo nativo não estiver disponível.
fonte
Eu escrevi essa função para trim, quando a função .trim () não estava disponível no JS em 2008. Alguns dos navegadores mais antigos ainda não suportam a função .trim () e espero que essa função possa ajudar alguém.
FUNÇÃO TRIM
Explicação : A função trim () aceita um objeto de sequência e remove os espaços em branco iniciais e finais (espaços, guias e novas linhas) e retorna a sequência aparada. Você pode usar esta função para aparar entradas de formulário para garantir que dados válidos sejam enviados.
A função pode ser chamada da seguinte maneira como exemplo.
fonte
O mine usa uma única regex para procurar casos em que o corte é necessário e usa os resultados dessa regex para determinar os limites de substring desejados:
a única decisão de design adotada foi usar uma substring para realizar a captura final. s / \?: // (faça a captura do meio termo) e o fragmento de substituição se torna:
há duas apostas de desempenho que eu fiz nesses impls:
a implementação de substring copia os dados da string original? Nesse caso, no primeiro, quando uma string precisa ser cortada, há uma travessia dupla, primeiro no regex (que pode, espero, ser parcial), e segundo na extração de substring. esperamos que uma implementação de substring faça referência apenas à string original, portanto operações como substring podem ser quase livres. dedos cruzados
quão boa é a captura no regex impl? o médio prazo, o valor do produto, pode ser potencialmente muito longo. eu não estava pronto para concluir que a captura de todos os documentos regulares não seria recusada em algumas centenas de capturas de entrada de KB, mas também não testei (muitos tempos de execução, desculpe!). o segundo SEMPRE executa uma captura; se o seu mecanismo puder fazer isso sem ser atingido, talvez usando algumas das técnicas de cordas acima, com certeza USE-O!
fonte
Para IE9 + e outros navegadores
fonte