Foros del Web » Programando para Internet » Javascript »

validar numeros reales

Estas en el tema de validar numeros reales en el foro de Javascript en Foros del Web. hola a todos, tengo una duda como puedo hacer una funcion en javascript donde pueda validar en un text, un numero de tipo float, por ...
  #1 (permalink)  
Antiguo 08/06/2004, 11:59
 
Fecha de Ingreso: diciembre-2003
Ubicación: Mexico - edo. Morelos
Mensajes: 27
Antigüedad: 20 años, 11 meses
Puntos: 0
validar numeros reales

hola a todos, tengo una duda como puedo hacer una funcion en javascript donde pueda validar en un text, un numero de tipo float, por ejemplo que solo puede insertar: un entero(ejem. 1) o decimal (ejem. .5) o entero con decimal (ejem 1.5) y si no escribe un numero de tipo float que mande un mensaje de alerta, me podrian decir como le puedo hacer, porfa? gracias
__________________
gamam
  #2 (permalink)  
Antiguo 09/06/2004, 02:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola gamam:

Se me ocurre que puedes poner:
function validar(n) {
return parseFloat(n) == n;
}

Si n es entero o real devuelve true (solo lo probé en explorer)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 09/06/2004, 03:22
 
Fecha de Ingreso: junio-2004
Mensajes: 621
Antigüedad: 20 años, 5 meses
Puntos: 25
Mediante expresiones regulares

Creo que lo mejor para validar ese tipo de cosas son las expresiones regulares.

Código:
function esNatural(strNumero){
	regexp = /^[0-9]*$/;
	return regexp.test(strNumero);
}

function esDecimal(strNumero){
	regexp = /^[0-9]*.[0-9]*$/;
	return regexp.test(strNumero);
}

function esDecimalPuro(strNumero){
	regexp = /^.[0-9]*$/;
	return regexp.test(strNumero);
}
Y se ajusta el patrón de la expresión regular dependiendo de lo que se necesite.

Espero que te sirva
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles
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:30.