domingo, junio 28, 2009

Función para validar un número con decimales (float) con javascript

Estaba haciendo experimentos para validar un form dinámico en HTML, requería utilizar una función JavaScript para validar si un número es un float, para ello utilicé la función que encontré en el artículo http://blog.techsaints.com/2007/04/10/javascript-number-validation-integer/, el cual mediante expresiones regulares valida si un número es un entero, lo modifiqué y el resultado fue la siguiente función:

function validaFloat(numero)
{
if (!/^([0-9])*[.]?[0-9]*$/.test(numero))
alert("El valor " + numero + " no es un número");
}

Espero les sriva ;)

22 comentarios:

CRACK dijo...

llevaba tiempo con problemas de validacion de campos y esta es la única validacion que me ha funcionado bien.

Muchas gracias, me ha sido muy util

Anónimo dijo...

gracias por este codigo me funciono muy bien para numeros de tipo float y el patron fue muy util en javascript

Lili dijo...

Muchas gracias.. es lo ke estaba buskanDo..!

gatosk8 dijo...

muy bueno, me ha sido muy útil muchas gracias...

informaticacotecnova dijo...

Excelente, muchas gracias.

Anónimo dijo...

Muxas gracias!!

William dijo...

Muy buen aporte

William dijo...

Muy buen aporte

Piñata Anarquista dijo...

copado... graciela

Anónimo dijo...

Excelente código:

Emplea con propiedad las expresiones regulares y el paradigma funcional, pocas líneas muy elegante.

Anónimo dijo...

Si se alternan letras no da error

jose ricardo dijo...

la funcion starbaja mejor asi
function validaFloat(dat){
var er_num=/^([0-9])*[.]?[0-9]*$/;
var valido;
if(dat.value != ""){
if(!er_num.test(dat.value)){
alert('Contenido del campo no válido');
dat.focus();
valido=false;
}
}

return true;
}

Anónimo dijo...

Graciasss...la única que me ha servido!!

criss dijo...

mejor asiii

function validarReal(dat){
var er_num=/^([0-9])*[.]?[0-9]*$/;
var valido;
if(dat.value != ""){
if(!er_num.test(dat.value))
return false;

return true
}
saludos. criss

SERGIO ANDRES dijo...

excelente aporte

Vladimir dijo...

Gracias me fue de utilidad!!!

Anónimo dijo...

Gracias.. me ha servido

Anónimo dijo...

gracias muy bueno el aporte

Anónimo dijo...

Independientemente de las variaciones que podamos hacerle según nuestros requerimientos, sólo puedo decir que está de lujo. Me has quitado un dolor de cabeza.

Anónimo dijo...

muchas gracias!!!!! espero que me sirva :)

Anónimo dijo...

Muy Buena Fncion es lo que estaba buscando, Muy util Gracias desde Orizaba,Veracruz, Mexico

Mauricio Chavez Vargas dijo...

prueben con /^([0-9])*[.]*[0-9]*$/
ya que el ? que tienen en la expresión hace que permita letras