Jump to content

Archived

This topic is now archived and is closed to further replies.

Helio_redeye

Caracteres Repetidos

Recommended Posts

Preciso de uma validação em Javascript que não deixe que o usuário digite 3 caracteres repetidos em um Textarea.

Share this post


Link to post
Share on other sites

Este é um codigo que fiz, não sei se vai lhe servir mas faz o que você pediu, talvez você possa modifica-lo para atender as suas necessidades.

 

<html> <head>  <title>Rafael Ribeiro da Silva</title>  <script language="javascript">  <!--   var abc = new Array(26);   var alfa = "a b c d e f g h i j k l m n o p q r s t u v w x y z";   alfa = alfa.split(' ');   for (i = 0; i < abc.length; i++) {    abc[i] = 0; // Atribui o valor 0 para todas as letras   }   function valida() {    var txt = document.all("ta1").value;    txt = txt.split('');    for (i = 0; i < txt.length; i++) {     for (j = 0; j < alfa.length; j++) {      if (txt[i] == alfa[j]) {       abc[j]++;      }     }    }    for (i = 0; i < abc.length; i++) {     if (abc[i] > 3) {      alert("Você não pode digitar mais do que 3 letras iguais");     }    }    // apos validar uma vez todo o valor do array abc retorna a 0    // para quando clicarem validar() novamente o resultado sair correto.    for (i = 0; i < abc.length; i++) {     abc[i] = 0;    }   }  -->  </script> </head> <body>  <form>   <textarea id="ta1"></textarea>   <input type="button" value="Validar" onclick="valida()">  </form> </body></html>

Eu testei com o meu nome,

eu digito "Rafael" e nada,

digito "Rafael Ribeiro" e nada,

digito "Rafael Ribeiro da" e nada (a = 3),

digito "Rafael Ribeiro da Silva" e BUM! hehe (a > 3).

 

Espero ter ajudado!

Share this post


Link to post
Share on other sites

,Mar 1 2003, 04:26 AM] Este é um codigo que fiz, não sei se vai lhe servir mas faz o que você pediu, talvez você possa modifica-lo para atender as suas necessidades.

<html> <head>  <title>Rafael Ribeiro da Silva</title>  <script language="javascript">  <!--   var abc = new Array(26);   var alfa = "a b c d e f g h i j k l m n o p q r s t u v w x y z";   alfa = alfa.split(' ');   for (i = 0; i < abc.length; i++) {    abc[i] = 0; // Atribui o valor 0 para todas as letras   }   function valida() {    var txt = document.all("ta1").value;    txt = txt.split('');    for (i = 0; i < txt.length; i++) {     for (j = 0; j < alfa.length; j++) {      if (txt[i] == alfa[j]) {       abc[j]++;      }     }    }    for (i = 0; i < abc.length; i++) {     if (abc[i] > 3) {      alert("Você não pode digitar mais do que 3 letras iguais");     }    }    // apos validar uma vez todo o valor do array abc retorna a 0    // para quando clicarem validar() novamente o resultado sair correto.    for (i = 0; i < abc.length; i++) {     abc[i] = 0;    }   }  -->  </script> </head> <body>  <form>   <textarea id="ta1"></textarea>   <input type="button" value="Validar" onclick="valida()">  </form> </body></html>
Eu testei com o meu nome, eu digito "Rafael" e nada,digito "Rafael Ribeiro" e nada,digito "Rafael Ribeiro da" e nada (a = 3),digito "Rafael Ribeiro da Silva" e BUM! hehe (a > 3).Espero ter ajudado!
Eu fiz isto e deu certo.
function Valida(objeto){	var w,z,y,x;	for(x=0;x < objeto.value.length;x++)  { 	 z = objeto.value.substring(x,x+1); 	 if ((x >= 2 && z == y && z == w)) 	 {    alert('Não pode existir 3 caracteres repetidos');    objeto.focus();    return false; 	 } 	 else 	 {    y = w;    w = z;    z = '-'; 	 }  }        return true;}

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.