1.6.07

Expresiones regulares II - Validación de números

Siguiendo con esta entrega sobre el uso expresiones regulares en la validación de datos en Javascript, veremos ahora como validar números.

Validación de un entero

var myNum = 15;
var bFound = /^\d+$/.test(myNum);
document.write(bFound);

En el script que vemos arriba, el símbolo ^ que se testeará el valor desde el comienzo y el símbolo $ indica que se continuará hasta el final del valor. \d establece que buscaremos sólo dígitos numéricos y, finalmente, el símbolo + establece que es válido encontrar más de un dígito numérico. Si este último signo, el control de número fallaría puesto que le estaríamos diciendo que controle un valor que comienza y termina con el primer dígito.

Validación de números con decimales

En el ejemplo anterior, si el número tuviera decimales, la validación retornaría false puesto que la expresión regular no adminte otra cosa que dígitos numéricos.

document.write(/^\d+\.?\d*$/.test('15.22'));

En este ejemplo veremos como detectar el punto (o coma) decimal.

Observemos:

  • ^\d+ como en el ejemplo anterior indica que se debe revisar desde el comienzo del valor y que deberá encontrar sólo dígitos numéricos, y uno o más.
  • \.? indica que se puede encontrar un punto decimal (para paises con como, reemplazarlo), y el signo ? indica que puede faltar, lo cual hace que los valores enteros también sean válidos.
  • \d*$ finalmente, indicamos que después del punto decimal se pueden encontar cero o más dígitos numéricos hasta el final del valor.

Expresiones regulares en Javascript (I)


ciberbanner.com intercambio de banners

12 Comentarios:

Anónimo dice...

¡¡¡¡¡Muchas gracias!!!!! Has sido breve, pero muy instructivo.

Anónimo dice...

La expresión no es del todo correcta, pues aceptaría un número de la forma 32. y eso no es válido. Es más correcta esta expresión:
/^\d+(\.\d{1,2})?$/

Al menos habrá digitos enteros y, en caso de que esté el punto decimal, obligamos a que haya números después. En este caso, obligamos a que haya uno o dos...

Saludos!

Anónimo dice...

Diego Camacho.

Pos la instrucción es básica, conoceis a alguien que sepa de verdad.

Julio González Seara dice...

Por supuesto que este ejemplo es básico. Se trata de una introducción al tema, no de escribir acá un libro de doscientas páginas. Se trata de ayudar, pero con gentes como tú que insulta con sus dichos, pues no llegamos a nada. No se que haces leyendo esto si es que sabes tanto.

Anónimo dice...

Muy bien dicho Julio, esa gente que se cree saberlo todo deberia de limitarse a hacer sus cosas solos.

Angel Puccinelli

Anónimo dice...

La verdad pienso que la acotacion no esta mal, hay que aprender aceptar las criticas, sobre todo si son constructivas, fijate que si no esta la observacion no me hubiera dado cuenta del detalle.

De todas maneras gracias a todos.

Julio González Seara dice...

La acotación es ofensiva cuando alguien valora sin conocer a la gente. Decir "conoceis a alguien que sepa de verdad" es ofensivo pero también desnuda que quien la escribe, además de mal educado es ignorante, sino ampliaría en lugar de buscar otro que sepa más.

Por tanto ser calificado por un ignorante (al menos en este tema) terminó por causarme gracia.

Anónimo dice...

A mi la verdad que el comentario me ayudo mucho, fue mas que constructivo, un abrazo!

Anónimo dice...

Graciass....me sirvio mucho tu aporte....

Anónimo dice...

Muchas Gracias!!! me sirvio mucho.

xel dice...

Gracias me sirvio mucho

PETER dice...

Muchas gracias, cualquier tip o ayuda siempre es bienvenida