Nov 20
2008EXPRESION REGULAR PARA EVALUAR EL FORMATO DE NUMEROS SEPARADOS POR COMAS
Asignado a: (TIPS) por Luisf en 20-11-2008
Etiquetas : comas, expresion regular, javascript, numero
Recientemente en mi trabajo me pidieron que evaluara un campo de texto donde se inserta un número, donde las unidades, decenas, centenas, etc… se separan con comas.
Investigando encontré que una manera relativamente fácil de hacer es con javascript y expresiones regulares. Lamentablemente para mi causa no encontré en la red una expresión regular que se acoplara exactamente a lo que yo buscaba, así que intente hacerla y este es el resultado:
^\d{1,3}(,\d{3})*\.{1}\d{2}
Esta expresión acepta números como por ej.:
1,112,123.00
10.00
123.45
También encontré una pagina donde puedes evaluar expresiones regulares en “tiempo real”. Aquí es donde estuve haciendo pruebas para lograr hacer la expresión:
Y finalmente realicé un javascript para que evalúe la expresión de la entrada de texto al terminar de escribir, añadiendo el tag onblur=”numerico(this)” al código html del Input.
function numerico(t) {
var patron = /^\d{1,3}(,\d{3})*\.{1}\d{2}/;
var str = t.value;
var result;
if (str.match(patron)){
result = str.match(patron);
if (result!= null){
t.value = result[0];
}
}
else{
alert(t.id+” contiene un numero malformateado”);
}
}






Hola, tengo 2 preguntas al respecto:
1.- Qué se entiende por “evaluar”, no entendí de donde proviene el problema.
2.- Cuál es el fin? (si es que esto se puede preguntar…)
Es que en Java hay métodos de la clase Math que ya hace esas cosas. Creo que en JavaScript hay algo por el estilo, pero no estoy seguro, aunque si eso te funciona…
Te tengo en Google Reader, por lo que he accedido a comentarte por estas dudas, así que, plis, si me puedes responder por e-mail, te lo agradeceré.
Saludos