Ir para conteúdo
Fórum Script Brasil
  • 0

Validar Campo Para Não Aceitar Letras E Caracteres


Guest Macedo

Pergunta

Bom dia a todos, gostaria de saber como posso fazer uma validação em uma variável que recebe valores numéricos no input e não aceite letras e caracteres especiais.

Tenho que fazer esta validação em uma variável para telefone. Quando digitar 3218-1840, a variável não pode aceitar letras.

Aguardo retorno e agradeço a ajuda desde já.

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0

Brother !!

beleza?

Olha só..

você quer fazer uma validação enquanto o usuario digita?

Se sim, isso é puro Javascript!

Vou lhe mostrar como faz em Javascript:

<html>

<head>

<script>

{

function numeros()

  {

tecla = event.keyCode;

if (tecla >= 48 && tecla <= 57)

    {

    return true;

    }

else

    {

    return false;

    }

  }

}

</script>

</head>

<body>

<form method="POST" name="formulario">

  <p align="center">Números - <input type="text" name="num" size="20" onKeypress="return numeros();"></p>

</form>

</body>

</html>

Copie, cole, salve na pagina, e execute, para ver como funciona!

Forte Abraço!!

Link para o comentário
Compartilhar em outros sites

  • 0

Só para completar, no script que o Dark0 postou não será possivel usar o teclado numérico, da pra fazer assim também:

 <script>
function verifica()
    {
      if ((event.keyCode<44)||(event.keyCode>57)){
        if ((event.keyCode<96)||(event.keyCode>106)){
           alert("Somente números são permitidos");
           event.returnValue = false; 
        }
      }
    }
</script>

Quaquer duvida maior, faça uma busca na sessão de Javascript que acho que voce encontra inclusive validação própria para telefone.

Link para o comentário
Compartilhar em outros sites

  • 0

Cyber, o esquema que eu fiz ali, funciona pra qualquer tecla de numero do teclado!

Eu mesmo acabei de testar, depois que você postou, hehe

E funcionou tb..

Mas, de qualquer forma, valeu por completar o script, hehe

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Cyber, o esquema que eu fiz ali, funciona pra qualquer tecla de numero do teclado!

Eu mesmo acabei de testar, depois que você postou, hehe

E funcionou tb..

Mas, de qualquer forma, valeu por completar o script, hehe

Abraços

Legal que funciona, assim eu economizo linha de código ainda mais por se tratar de JS que o código vem todo do servidor do cliente sendo assim quanto menor melhor, só não entendi por que funcionou, o keyCode do teclado numérico não é de 96 a 105??

Link para o comentário
Compartilhar em outros sites

  • 0
o keyCode do teclado numérico não é de 96 a 105??

axo q não brow..

Executa este codigo, e aperta as teclas do teclado numerico.

<script>

<!--

function teclaP()

{

  var tecla = event.keyCode;

if ((tecla == 8))

  {

  alert('enter');

  }

  alert(tecla);

}

// -->

</script>

<body onkeypress="teclaP();">

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Pra mim que só conheço o arroz com feijão de javascript ficou mais confuso ainda, olha:

<script>
function tecla(btn) {
  tc = btn.keyCode;
  alert(tc)
 }
</script>
<form>
Pressione uma tecla para ver o código:<br>
<input type="text" size=36 name="palavra" size="20" onkeydown="tecla(event)">
</form>

Link para o comentário
Compartilhar em outros sites

  • 0

esquisito, né?

hehehe

Sei lá então.

Em todos os sites que eu desenvolvo, eu utilizo aquele modo que citei ali

Quem pode dizer qual é o melhor modo, ou qual é o certo, é o pessoal de javascript, hehe

Eu tb não sei muita coisa de js não.. Só sei mesmo o que eu preciso.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu tenho um programa aqui, feito em VB, se não me engano, que mostra o codigo ASCII da tecla pressionada, e tb mostra o KEYCODE da tecla pressionada.

O que é cada um deles, eu não sei.

Mas, sei que pressionando as teclas:

tecla - ascii - keycode

0 - 48 - 96

1 - 49 - 97

2 - 50 - 98

3 - 51 - 99

4 - 52 - 100

5 - 53 - 101

6 - 54 - 102

7 - 55 - 103

8 - 56 - 104

9 - 57 - 105

E aí.. o que me diz?

Vai saber..

Link para o comentário
Compartilhar em outros sites

  • 0
So vou fazer um comentário... em php é mais fácil fazer isso do que em javascript

<?php if(!is_numeric($var)){echo "Somente números são permitidos";} ?>

mas isto não é dinamico igual javascript... o que ele quer é que retorne um alert na hora que tentar executar alguma tecla... em ASP você tb faz isto ai em uma linha, mas não é bem o que ele quer =)

Link para o comentário
Compartilhar em outros sites

  • 0
So vou fazer um comentário... em php é mais fácil fazer isso do que em javascript

<?php if(!is_numeric($var)){echo "Somente números são permitidos";} ?>

Brother !!

Olha só..

Php funciona praticamente como a linguagem ASP.

Para executar o comando que você colocou, seria preciso o usuario, no mínimo dar um 'submit' no formulario, para então seu evento ser disparado.

Já, a função em Javascript não!

Ela é executada na medida em que o usuario digita na tela!

Em asp tb seria quase a mesma coisa que em php..

Link para o comentário
Compartilhar em outros sites

  • 0

Esse script do cyberalex é mais completo, não?

Mas é crossbrowser? Vou até testar...

Até mais! biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0
' date='Jan 11 2005, 07:50 AM'] Esse script do cyberalex é mais completo, não?

Mas é crossbrowser? Vou até testar...

Até mais! biggrin.gif

na verdade parece ser mais completo..

Só que o que eu postei funciona tão bem quanto o que ele postou..

mesmo sem aquelas comparações a mais.

Agora, porque isso.. eu não faço a mínima ideia!

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

EDITADO**

Eu consegui, pedi ajuda dum amigo só pra confirmar, e vi q eu só tinha errado um troço por falta de atenção!

<script language="JavaScript" type="text/javascript">
<!--
function numeros() { 
if(document.all) { // Internet Explorer 
	nTecla = event.keyCode;
}
else if(document.layers && navigator.appName.indexOf("Mozilla") == -1) { // Nestcape 
	nTecla = event.which;
} 
else { // Mozilla / FireFox / Opera 
	nTecla = event.which;
}

if ((nTecla < 44) || (nTecla > 57)) { 
	if ((nTecla < 96) || (nTecla > 106)) { 
  //alert("Somente números são permitidos");
  event.returnValue = false;
	}
}
}
// -->
</script>

<input type="text" onKeypress="return numeros();">

Link para o comentário
Compartilhar em outros sites

  • 0

Brother !!

Olha só..

Php funciona praticamente como a linguagem ASP.

Para executar o comando que você colocou, seria preciso o usuario, no mínimo dar um 'submit' no formulario, para então seu evento ser disparado.

Já, a função em Javascript não!

Ela é executada na medida em que o usuario digita na tela!

Em asp tb seria quase a mesma coisa que em php..

eu sei, eu sei...

mas porque você não moveu para javscript então?

[]´s

Link para o comentário
Compartilhar em outros sites

  • 0

Brother !!

Olha só..

Php funciona praticamente como a linguagem ASP.

Para executar o comando que você colocou, seria preciso o usuario, no mínimo dar um 'submit' no formulario, para então seu evento ser disparado.

Já, a função em Javascript não!

Ela é executada na medida em que o usuario digita na tela!

Em asp tb seria quase a mesma coisa que em php..

eu sei, eu sei...

mas porque você não moveu para javscript então?

[]´s

Porque eu já tinha postado a resposta pra ele, então não tinha a necessidade de mover o tópico, visto que já tava resolvido wink.gif

Tendeu?

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...