Foros del Web » Programando para Internet » Javascript »

Permitir solo cierto caracters en un campo

Estas en el tema de Permitir solo cierto caracters en un campo en el foro de Javascript en Foros del Web. Estoy buscando la manera de que en el campo ej: Cantidad de un formulario solo se pueda ingresar numeros, puntos, usar el backspace y el ...
  #1 (permalink)  
Antiguo 20/07/2007, 12:09
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Permitir solo cierto caracters en un campo

Estoy buscando la manera de que en el campo ej: Cantidad de un formulario solo se pueda ingresar numeros, puntos, usar el backspace y el tab.

Lo cual lo he consegido parcialmente usando un evento onkeypress y el siguiente codigo:

Código:
function EvaluateText(cadena, obj, e){
opc = false;
tecla = (document.all) ? e.keyCode : e.which;
if (cadena == "%f")
{      if (tecla == 9)
	opc = true;
	if (tecla > 45 && tecla < 58)
	opc = true;
	if (tecla == 8)
	opc = true;
	if (tecla == 46)
	opc = true;
	if (tecla == 47)
	opc = false;
	
}
return opc;
}
El codigo es bastante primitivo y tiene un problema no funciona con el TAB, segun lei es por que el TAB no devuelve un valor con el evento onkeypress.

Conoce alguien alguna manera de implementar esto ya sea en onkeypress, onkeydown u otro evento que permita solo ingresar numeros, puntos, backspace y tab.
  #2 (permalink)  
Antiguo 20/07/2007, 12:15
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: Permitir solo cierto caracters en un campo

Hola
Creo que el foro de javascript te pueden ayudar mejor

http://www.forosdelweb.com/f13/

Saludos!
  #3 (permalink)  
Antiguo 20/07/2007, 14:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Permitir solo cierto caracters en un campo

Movido al foro de Javascript.
  #4 (permalink)  
Antiguo 11/04/2009, 13:28
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Permitir solo cierto caracters en un campo

hola yo use este funciona bien pero la joda es que si algun tio hace copiar y pegar el codigo se pega de todos modos ¿alguien sabe como evitar esto?
bueno aqui pego el codigo !


Código HTML:
<script language="JavaScript">

      var correctos = new Array(" 1", "2", "3","4", "5", "6","7","8","9","I","J","K","L","M","N","Ñ","O","P","Q","R","S","T","U","V","W","X","Y","Z","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",",",";","." );

      var estado=false;
      var codigoTecla, cadenaTecla;   

      function pulsada(e) 
      {
 
          estado=false;

          if(document.all)
          {
              codigoTecla = event.keyCode
              cadenaTecla = (String.fromCharCode(event.keyCode));
          }
          else if(document.layers)
          {
              codigoTecla = e.which
              cadenaTecla = String.fromCharCode(e.which);
          }
          else if(document.getElementById)
          {
              codigoTecla = (window.Event) ? e.which : e.keyCode;
              cadenaTecla=(String.fromCharCode(codigoTecla));
          }

          for(i=0;i<correctos.length;i++)
          {
              if(cadenaTecla==correctos[i])
                  estado=true;
          }

          if(estado==false)
          {
              if(document.all)
                  event.returnValue = false;
              else
                  return false;
          }
      }
     
     

 </script>
 
</head>

<body>

<center>
Caja de texto que sólo admite las entradas "a", "A", "b", "B", "c", y "C".<br><br>
<form name="formulario">
  <input type="text" name="nombre" onKeyPress="return pulsada(event)">
</form>
</center>
</body> 
bueno espero que les sirva para los que lo necesiten, la pega estaria en corrigir el copy y paste para evitar que puedan ser pegados los codigos...

espero haberme explicado bien por no entiendo un jorak de esto...

saludos!!
  #5 (permalink)  
Antiguo 11/04/2009, 15:27
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Permitir solo cierto caracters en un campo

Probá así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html>
<
head>
<
meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<
title>Validar entrada de datos</title>
<
script type="text/javascript">
/*---- Créditos: javierB - http://www.telefonica.net/web2/blas-mar/validarformu.html ----*/
function validar(e) { 
    
tecla = (document.all) ? e.keyCode e.which
    if (
tecla==8) return true
    
patron =/[0-9.s]/; 
    
te String.fromCharCode(tecla);
    return 
patron.test(te); 

</script>
</head>

<body>
<form name="formulario">
  <input type="text" name="nombre" onkeypress="return validar(event)" onpaste="return false;" />
</form>

</body>
</html> 
  #6 (permalink)  
Antiguo 12/04/2009, 02:04
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Permitir solo cierto caracters en un campo

Gracias Panino5001

si funciona a la perfeccion!!

esten ahora una pregunta eso esta bien para numeros y como le hago para que permita alfanumericos con spacios.
  #7 (permalink)  
Antiguo 12/04/2009, 03:46
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Permitir solo cierto caracters en un campo

asi quedaria para alfabeticos mas Ñ y ñ y espacios

Código HTML:
<script type="text/javascript">
/*---- Créditos: javierB - http : // w w w . telefonica . net/ web2 / blas-mar/ validarformu .  html ----*/
function validar(e) { 
    tecla = (document.nombre) ? e.keyCode : e.which; 
    if (tecla==8) return true; 
    patron =/[a-z.A-Z.Ñ.ñ. .]/; 
    te = String.fromCharCode(tecla);
    return patron.test(te); 
} 
</script>

<form name="formulario">
  <input type="text" name="nombre" onkeypress="return validar(event)" onpaste="return false;" />
</form> 
joder que funciona ademas se puede conbinar para usar en varios campos del mismo formulario jejeje

saludo!!

Última edición por zerpico_01; 12/04/2009 a las 04:01
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:32.