And After - Design e Tecnologia por Sua Conta!
O desenvolvedor é um blog sobre desenvolvimento web, não tratando apenas de programação mas também compartilhando experiências, métodos, debates e tendências da internet.

O Desenvolvedor é um blog de www.andafter.org
Assinar o Feed RSS

Guilherme Serrano

[@]
[www]

Graduado em design, viciado em web, adoro desenvolvimento, mashups, usabilidade, o universo e tudo mais.

Vivo de e para internet. :)

Status
Karma: 68536
Opiniões: 30

Mais deste autor


Limitar caracteres utilizando Javascript

Limitar caracteres utilizando Javascript

Muito bomEste texto foi classificado como Muito bom
Em Internet, Programação
Por Guilherme Serrano
19 de Novembro de 2008

Script para limitar os caracteres de uma variável utilizando Javascript. Nenhuma novidade, mas está simples e funcional, principalmente para quem não domina a linguagem. :D

RSS Acompanhe O Desenvolvedor por Feeds!


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. :)

O que você achou do texto?

  • Muito ruim
  • Ruim
  • Regular
  • Bom
  • Muito bom
Sua opinião é o que faz a comunidade funcionar, colabore para isso!

Tags: javascript, programacao, internet, web

Enviar para um amigo
Você pode comentar, assinar o feed, conhecer mais sobre o autor e ajudar a divulgar este artigo em sua ferramenta favorita através dos botões abaixo.
  • Rec6
  • ueba
  • linkk
  • dihitt
  • linkloko
  • websapiens
  • linkto
  • Eu curti

Comentários

Chris Benseler

20/11/2008 10:47:00

Craa, não tem função nativa do js para fazer isso?
No mais, o lance q você tentou com o length: o length é um método (não sei se é efetivamente um método, mas vou chamar assim) do Object no javascript que só serve como leitura, você não pode usar pra setar o comprimento de uma string. Tipo, str.length = 4; não existe! hehe

[Responder este comentário]

Guilherme Serrano

21/11/2008 12:18:00

Eu dei uma procurada *sem vontade* e não encontrei nenhuma função nativa para isso.

Descobri que o length é apenas leitura no teste mesmo, eu imaginei que talvez pudesse funcionar. Eu tentei mais ou menos assim: "str.length(4);" mas o que tu falou é certo, serve somente para leitura do atributo e não para setar seu valor.

Chris Benseler

22/11/2008 15:01:00

Mas, hey, pensando aqui... não era mais fácil fazer algo como:
var str= "Haduken neles!";
str.substr(0,4);

?

[Responder este comentário]

Guilherme Serrano

24/11/2008 01:29:00

Ótimo!

Estou editando o post e te dando os créditos, procurei por um tempão uma função que fizesse isso, pois me parecia óbvio que deveria ter - mas como não encontrei nada "apelei"... haha

Valeu Chris!

Antonio Junior

1/12/2008 10:03:00

Cara olha so tenho um campo chamado palavra(e um buscador) O que quero buscar é algo de somente 8 digitos. o que devo fazer para que ele bloqueie quem digita menos que 8 digitos ???

[Responder este comentário]

Chris Benseler

1/12/2008 10:20:00

Tem que criar uma função javascript para o evento do submit do formulário, e nela fazer algo do tipo:
if(document.getElementById("seu_campo").value.length<8) {
alert("Deve conter pelo menos oito caracteres");
return false;
}

Guilherme Serrano

1/12/2008 10:34:00

Esta função do Chris resolve, mas se o valor é EXATAMENTE 8, nunca mais nem menos que isso, você pode chamar uma função que verifica se é diferente que 8, se o valor (document.getElementById("seu_campo").value.length) for diferente que 8 não envia o form e exibe o alerta com a mensagem de erro... :)

Antonio Junior

1/12/2008 11:53:00

Entao fiz dessa forma que vcs falaram so que quando eu digito qualquer numero ex: tem uma certidao que seu numero eh 20080001

quando eu digito 20080001 e clico em enviar n envia o formulario e aparece o alert

Meu codigo Js

</script>
<script type="text/javascript">

function digitos(){
if(document.getElementById("palavra").value.length<8) {
alert("Digite os 8 digitos da certidao ex; 20080000!");
return false;
}
}
</script>

o que pode esta errado?

[Responder este comentário]
Deixe seu comentário!

Nome (requerido)

E-mail (requerido - não será divulgado)

URL

Quanto é 1 + 1?




web tracker