Contar caracteres com javaScript


javaScript
Existe uma propriedade nativa do JavaScript chamada length que tem a função de contar.

A sintaxe é muito fácil “String.length” onde string é o objeto que queremos contar e o length é quem se encarregará pela contagem.

Obs: está propriedade também conta espaço em branco. Muito bom pra verificar se a senha foi digitada com espaço em branco.

Vamos ver um exemplo simples.


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

   var caracteres = "Felipe não sabe de tudo, mas aprende um pouco a cada dia";

   var contar = caracteres.length;

   alert(contar);

</script>

O resultado será um alert com o numero 56, contando com os espaços em branco, que ele interpreta como caracteres.

Agora eu quero que o nosso código varra a variável, e teste se existe a letra “e”, se achar vai informar que achou a letra “e”, senão ele vai dizer que não achou “e”,  e vai mostrar o caractere que achou.


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

 var caracteres = "Felipe";

     for(i=0; i< caracteres.length; i++){

        if(caracteres[i] == "e" || caracteres[i] == "E" ){

           alert("Achei o " + caracteres[i]);

        } else {

           alert("Não achei e, encontrei o " + caracteres[i]);

        }

     }

</script>

O resultado será uma serie de alerts até a condição ser satisfeita, e todos os caracteres serão contados e testados.

O ideal é trabalhar com DOM, e escrever no documento ao invés de alerts, mas como estamos apenas estudando a propriedade length, escolhi alert, mas você pode escolher um nó ou id do documento e escrever nele, Ex: screver = document.getElementById(“idOndeVoceQuerEscrever”).innerHTML = variável + “texto e tags”;

Mas isso é para próximos posts.

|| caracteres[i] == E”

  1. #1 by rodrigo julião on 26 de março de 2010 - 21:14

    boa noite.
    O meu código não funcionou com o seu exemplo:
    function extenso(v,str)
    {
    for (i=0; i<v.length; i++) {
    if (v[i] == "t")
    alert("Sim");
    else
    alert("Não");
    }document.form1.p_extenso.value = v[1];
    }

    ele dá o erro: undefined.

    Obrigado

  2. #2 by Felipe de Albuquerque on 27 de março de 2010 - 1:40

    Fala Rodrigo,
    primeiro, muito obrigado por sua visita e por sua pergunta.

    Testei o seu código e está funcionando, só corrigi a estrutura de controle que está faltando “{}” no if e no else, é pra ficar assim:

    for (i = 0; i < v.length; i++) {
    if (v[i] == “t”) {
    alert(“Sim ” + v[i]);
    }else {
    alert(“Não ” + v[i]);
    }
    //document.form1.p_extenso.value = v[1];
    }
    Você está usando a IDE Aptana? Por que a visualização do Aptana dá alguns problemas de vez em quando, mas aperta a setinha verde e manda ele rodar no browser ou digita a url do teu localhost e testa tua página. Pode copiar o meu exemplo e coloca na página que você vai ver que está funcionando. Mas caso seu código não funcione me fala, e se funcionar também fale.

    Abração

(não será publicado)