Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/08/2007, 20:00
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
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.