Foros del Web » Programando para Internet » Javascript »

que sólo se puedan escribir números en una caja de texto

Estas en el tema de que sólo se puedan escribir números en una caja de texto en el foro de Javascript en Foros del Web. Hola Me podrían facilitar un script que sólo permita el ingreso de números en un input text. Es decir, que si digito un carácter en ...
  #1 (permalink)  
Antiguo 09/03/2005, 20:48
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 19 años, 10 meses
Puntos: 0
que sólo se puedan escribir números en una caja de texto

Hola

Me podrían facilitar un script que sólo permita el ingreso de números en un input text. Es decir, que si digito un carácter en la caja de texto, no se escriba nada.
Buscando solo, encontre scripts que verifican que lo que se escribó en la caja de texto sea un número, :(

Muchas Gracias,
  #2 (permalink)  
Antiguo 09/03/2005, 21:49
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 9 meses
Puntos: 10
Yo uso este script:

Código:
 <html>
<head>
<SCRIPT TYPE="text/javascript">
<!--
// copyright 1999 Idocs, Inc. http://www.idocs.com
// Distribute this script freely but keep this notice in place
function numbersonly(myfield, e, dec)
{
var key;
var keychar;

if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) ||
(key==9) || (key==13) || (key==27) )
return true;

// numbers
else if ((("0123456789").indexOf(keychar) > -1))
return true;

// decimal point jump
else if (dec && (keychar == "."))
{
myfield.form.elements[dec].focus();
return false;
}
else
return false;
}

//-->
</SCRIPT>

</head>
<body>
<INPUT NAME="dollar" SIZE=20 onKeyPress="return numbersonly(this, event)">
</body>
</html>
__________________
oohh... quisiera ser godines!!!
  #3 (permalink)  
Antiguo 10/03/2005, 02:03
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola MrAndersonWEB

También puede servirte este código:
Código:
<html>
<head>
<script>
function validar(e) {
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true; //Tecla de retroceso (para poder borrar)
    patron = /\d/; //Solo acepta números
    te = String.fromCharCode(tecla);
    return patron.test(te); 
} 
</script>
</head>

<body>
<input type="text" name="textfield" onkeypress="return validar(event)">
</body>
</html>
Saludos,

Última edición por JavierB; 14/06/2006 a las 12:30
  #4 (permalink)  
Antiguo 10/03/2005, 22:16
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 19 años, 10 meses
Puntos: 0
Muchas gracias
  #5 (permalink)  
Antiguo 14/06/2006, 11:59
 
Fecha de Ingreso: agosto-2003
Mensajes: 75
Antigüedad: 21 años, 3 meses
Puntos: 0
y se podria controlar que solo puedan pulsar una vez el punto? para controlar los decimales.
  #6 (permalink)  
Antiguo 16/06/2006, 13:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola vicvallo

Es posible que haya alguna forma de controlarlo con expresiones regulares, pero yo no lo he conseguido. Te dejo esto para que lo pruebes:
Código:
<html>
<head>
<script>
function validar(e,txt) {
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    if (tecla==46 && txt.indexOf('.') != -1) return false;
    patron = /[\d\.]/;
    te = String.fromCharCode(tecla);
    return patron.test(te); 
} 
</script>
</head>

<body>
<input type="text" name="textfield" onkeypress="return validar(event,this.value)">
</body>
</html>
Saludos,
  #7 (permalink)  
Antiguo 23/05/2011, 15:35
 
Fecha de Ingreso: abril-2010
Ubicación: Ocaña
Mensajes: 32
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: que sólo se puedan escribir números en una caja de texto

hola mi problema es el siguiente:
necesito que al digitar me valide solo numeros decimales de 0 a 5. entonces no he encontrado la manera de hacerlo. la mejor manera seria con javscript. espero q me ayuden. muchas gracias
  #8 (permalink)  
Antiguo 13/04/2012, 16:57
 
Fecha de Ingreso: febrero-2012
Mensajes: 2
Antigüedad: 12 años, 9 meses
Puntos: 0
Información Respuesta: que sólo se puedan escribir números en una caja de texto

Cita:
Iniciado por JavierB Ver Mensaje
Hola vicvallo

Es posible que haya alguna forma de controlarlo con expresiones regulares, pero yo no lo he conseguido. Te dejo esto para que lo pruebes:
Código:
<html>
<head>
<script>
function validar(e,txt) {
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    if (tecla==46 && txt.indexOf('.') != -1) return false;
    patron = /[\d\.]/;
    te = String.fromCharCode(tecla);
    return patron.test(te); 
} 
</script>
</head>

<body>
<input type="text" name="textfield" onkeypress="return validar(event,this.value)">
</body>
</html>
Saludos,
Excelente ejemplo.
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 18:34.