Foros del Web » Programando para Internet » Javascript »

Muchos numeros y 1 solo punto

Estas en el tema de Muchos numeros y 1 solo punto en el foro de Javascript en Foros del Web. Que tal amigos: Miren tengo la siguiente funcion: function entero(e) { var caracter if(window.event) // IE { caracter = e.keyCode } else if(e.which) // Netscape/Firefox/Opera ...
  #1 (permalink)  
Antiguo 12/02/2010, 15:33
 
Fecha de Ingreso: octubre-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 0
Muchos numeros y 1 solo punto

Que tal amigos:
Miren tengo la siguiente funcion:
function entero(e)
{
var caracter
if(window.event) // IE
{
caracter = e.keyCode
}
else if(e.which) // Netscape/Firefox/Opera
{
caracter = e.which;
}
status = caracter ;
if (caracter>47 && caracter <58 || (caracter == 13) || (caracter == 46))
{
return true
}
return false
}

Esta funcion me valida que solo pueda ingresar numeros y la tecla punto, mi problema pasa porque me permite el ingreso de mas de un punto y la idea es q solo pueda ingresar un punto y muchos numeros.
Por favor podrian ayudarme a modificar mi funcion para poder ingresar solo un punto. Gracias de antemano.
  #2 (permalink)  
Antiguo 12/02/2010, 17:20
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Muchos numeros y 1 solo punto

simplemente comprueba que el punto ya exista:

Código Javascript:
Ver original
  1. function entero(e)
  2. {
  3.     var caracter;
  4.     var targ;
  5.     if(window.event) // IE
  6.     {
  7.         caracter = e.keyCode
  8.     }
  9.     else if(e.which) // Netscape/Firefox/Opera
  10.     {
  11.         caracter = e.which;
  12.     }
  13.     status = caracter ;
  14.     if (e.target) {
  15.         targ = e.target;
  16.     }
  17.     else if (e.srcElement)
  18.     {
  19.         targ = e.srcElement;
  20.     }
  21.     if (targ.nodeType == 3) {// defeat Safari bug
  22.         targ = targ.parentNode;
  23.     }
  24.     if (caracter>47 && caracter <58 || (caracter == 13) || (caracter == 46) || (caracter == 8))
  25.     {
  26.         if(caracter == 46 && targ.value.indexOf('.')!=-1){
  27.             return false;
  28.         }
  29.         return true;
  30.     }
  31.     return false;
  32. }
  #3 (permalink)  
Antiguo 15/02/2010, 08:40
 
Fecha de Ingreso: octubre-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Muchos numeros y 1 solo punto

Cita:
Iniciado por maycolalvarez Ver Mensaje
simplemente comprueba que el punto ya exista:

Código Javascript:
Ver original
  1. function entero(e)
  2. {
  3.     var caracter;
  4.     var targ;
  5.     if(window.event) // IE
  6.     {
  7.         caracter = e.keyCode
  8.     }
  9.     else if(e.which) // Netscape/Firefox/Opera
  10.     {
  11.         caracter = e.which;
  12.     }
  13.     status = caracter ;
  14.     if (e.target) {
  15.         targ = e.target;
  16.     }
  17.     else if (e.srcElement)
  18.     {
  19.         targ = e.srcElement;
  20.     }
  21.     if (targ.nodeType == 3) {// defeat Safari bug
  22.         targ = targ.parentNode;
  23.     }
  24.     if (caracter>47 && caracter <58 || (caracter == 13) || (caracter == 46) || (caracter == 8))
  25.     {
  26.         if(caracter == 46 && targ.value.indexOf('.')!=-1){
  27.             return false;
  28.         }
  29.         return true;
  30.     }
  31.     return false;
  32. }
que tal maycol, tu función me sigue aceptando mas de un punto :(
  #4 (permalink)  
Antiguo 15/02/2010, 09:04
 
Fecha de Ingreso: octubre-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Muchos numeros y 1 solo punto

me confundi :D , la función de maycon funciona muy bien acepta solo numeros y sola una tecla "punto". Gracias.

Etiquetas: muchos, numeros, punto
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 06:02.