Limitar caracteres utilizando Javascript

Continuando meus estudos com javascript, para completar parte do meu script de manipulação de XML com jQuery eu precisava limitar os caracteres de um dos resultados obtidos no XML, mas noob que sou em Javascript apanhei bastante para fazer isso – e como estava offline a tarde toda, não rolou.

 

[update]

Como eu já comentei, sou bastante noob no Javascript e existe uma função nativa para limitar os caracteres de uma variável, portanto aqui vai a solução que o Chris deu nos comentários, melhor que a solução que fiz.

A função subsrt() permite selecionar os caracteres de uma variável, por exemplo:

var jujuba = "Haduken neles!";
var jujuba2 = jujuba.str(0,7);
var jujuba3 = jujuba.str(8,13);

No exemplo acima, teriamos como resultado as seguintes variáveis:

jujuba2 = Haduken
jujuba3 = neles

Como eu não sabia da existência da função substr() eu fiz uma função para limitar caracteres, que funciona bem mas é totalmente inútil visto que isso pode ser feito com apenas uma linha.

Manterei o post original e a função abaixo apenas para fins de estudo e exemplo, mas se seu único intuito é limitar os caracteres de uma variável sua resposta está aí em cima.

[/update]

 

Voltei a procurar uma solução para o problema agora a noite, e baseado no script de retirar acentos com Javascript fiz algumas alterações para focar no que eu queria.

Criei uma função que limita os caracteres de uma variável, e funciona de forma bem simples:

function limita(str,limite) {
   nova=´´;
   for(i=0;i<limite;i++) {
      nova+=str.substr(i,1);
   }
   return nova;
}

As duas variáveis da função são:

str – é a variável que você vai "cortar"
limite – número de caracteres máximo para a variável

Por exemplo, se eu chamar a função limita("Haduken neles!",4) meu resultado será apenas os 4 primeiros caracteres: Hadu.

Simples porém funcional, não sei se existe alguma função do javascript para limitar os caracteres (como o left, no asp). Tentei utilizar o length, mas nenhuma das tentativas funcionou, por hora a solução será esta. 🙂

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *