Alguien que sepa conque expresion regular puedo validar una entrada en formato de moneda?
Yo tengo esta:
[$]?[-+]?\d{3,5}(\.\d{1,2})?
Pero no me valida si existe la coma ni numeros muy grandes.
Saludos
| |||
| Alguien que sepa conque expresion regular puedo validar una entrada en formato de moneda? Yo tengo esta: [$]?[-+]?\d{3,5}(\.\d{1,2})? Pero no me valida si existe la coma ni numeros muy grandes. Saludos |
| ||||
| Re: Validar Formato Moneda $1,123.00 Se me ha ocurrido esta forma, ¿qué te parece? Es un poco rebuscada, la he hecho con dos posibilidades porque si no se complica bastante la cosa.
Código:
var cantidades = new Array(
"$1,123.00",
"$34.05",
"$5.22",
"$123,123.94",
"$1,123,123.00",
"12,231.12",
"12",
"$12.123",
"$45.1",
"$2112.12",
"$87212.41",
"$1231.12.12",
"$12,45,123.12"
);
var re1 = /^\$(((\d{1,3},)(\d{3},)*\d{3})|(\d{1,3}))\.\d{2}$/;
for( var i in cantidades ) {
document.write( cantidades[i]+" --> "+re1.test(cantidades[i]) +"<br/>");
}
Serían estas dos partes en rojo: /^\$(((\d{1,3},)(\d{3},)*\d{3})|(\d{1,3}))\.\d{2}$/ Y la parte de $ y la decimal en azul. Tenía el problema de que no podía dar por "$12,45,123.12" si no hacía esas dos posibilidades. Aunque también se podría poner \d{1,3} y después, opcionalmente, todo detrás. Un saludo.
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
| Re: Validar Formato Moneda $1,123.00 ¿Qué te pareció? ¿Lograste una validación más cómoda? Responde por favor.
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| |||
| Respuesta: Validar Formato Moneda $1,123.00 Sé que han pasado años desde la publicación, pero siempre habrá alguien que ande urgido buscando. He creado esta expresión regular y me funciona perfectamente: ^[0-9]{1,3}([\\.][0-9]{3})*[\\,][0-9]{2}$ En este caso el separador de miles es punto, y el de decimales es la coma y permito dos decimales, si usan algo diferente sustituyan los caracteres en rojo |
| ||||
| Respuesta: Validar Formato Moneda $1,123.00 Wolfmarel, si querías escapar al punto y a la coma, te bastaba con una barra invertida para cada caso; con dos, solo terminas escapando a la barra misma. De cualquier modo, no debes de revivir hilos con más de 6 meses de antigüedad. Saludos
__________________ «Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío». ― Ayn Rand |