Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Camerata

[Resolvido] somente numeros

Recommended Posts

se você kizer bloquear na entrada isso resolve, faz um teste ae

<script>
function testa_navegador(event){
	if(document.all) // Internet Explorer
		tecla = event.keyCode;
	else //Outros Browsers
		tecla = event.which;
	return tecla;
}
function so_letras(event){
	var tecla = testa_navegador(event);	
	if((tecla<48) || (tecla>57))
		return true;
	return false;
}
function so_numeros(event){
	var tecla = testa_navegador(event);	
	if ((tecla>=48) && (tecla<=57))
		return true;
	else if(tecla == 8 || tecla == 0) //Backspace, Delete e setas direcionais(para mover o cursor, apenas para FF)
		return true;
	return false;	
}
</script>
Só Números: <input type='text' id='text1' onkeypress="return so_numeros(event)">
Só letras: <input type='text' id='text2' onkeypress="return so_letras(event)">

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas se você kizer verificar uma string já pronta isso resolve

<script>
//By Victor Cometti
function verifica(id){
	var palavra = document.getElementById(id).value;//recebe a string digitada
	var verifica_numero = true;//teste se existe números
	var verifica_letra = true;//teste se existe letras
	var palavraCod;//recebe o código da tabela ascii
	//verifica se a string possui só letras ou se existe algum número
	for(i=0;i<palavra.length;i++){//varre a string
		palavraCod = palavra.charCodeAt(i);//tranforma caracter em código
		if ((palavraCod >= 48) && (palavraCod <= 57))//verifica se é número
			verifica_letra = false;			
		else
			verifica_numero = false;
	
	}
	if (!verifica_numero && !verifica_letra)
		alert("Esta string possui números e letras");
	else if (!verifica_numero && verifica_letra)
		alert("Esta string só possui letras");
	else	
		alert("Esta string só possui números");
}
</script>
Digite a string: <input type='text' id='text3'><input type='button' value='verifica string' onclick=verifica('text3');>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Recomendo você utilizar Jquery, e da uma olhada neste plugin Jquery - Validation Plugin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente srnetcave, li que as funções para ler teclado no javascript não são aconselhaveis já que varia de navegador para navegador, plataforma e etc... Obrigado pela sugestão, JQuery parece ser bem poderosa.

 

Victor Cometti obrigado pelos scripts, aprendi bastante coisa com eles!

Eu só não entendi uma coisa, por exemplo neste trecho:

function so_letras(event){
        var tecla = testa_navegador(event);     
        if((tecla<48) || (tecla>57))
                return true;
        return false;

Se eu colocar:

function so_letras(event){
        var tecla = testa_navegador(event);     
        if((tecla<48) || (tecla>57)) {
                return true; 
	} else {
        return false;
	}
}

Já não funciona mais, por quê? Pensei que esse return false; estivesse em dentro de um else.

Já que se for for caractere (<48 ou >57) retorna verdadeiro, caso contrário falso. (entendi isso)

 

Desde já obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

estranho, no else era pra funcionar!

 

o q acontece é o seguinte, a função pára quando você tem um return, então se ela entrar no if e dá um return true, ela já finaliza e nao vai até o return false, e se ela não entrar no if automaticamente o return é false, que é a próxima opção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Victor, consegui fazer funcionar, eu reescrevi e funcionou, parace que eu tinha errado algum parâmetro na hora de escrever.

 

Muito obrigado pelos exemplo, me ajudaram muito! Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.