No necesito una máscara, pero necesito algo que formatee la moneda (en todos los navegadores) y no permita que se escriban letras o caracteres especiales. Gracias por la ayuda
Ejemplo:
Válido: $50.00
$1,000.53
No válido: $w45.00
$34.3r6
Otra opción (si está utilizando ASP.Net razor view) es, en su vista, puede hacer
<div>@String.Format("{0:C}", Model.total)</div>Esto lo formatearía correctamente. nota (item.total es doble/decimal)
si en jQuery también puedes usar Regex
$(".totalSum").text('$' + parseFloat(total, 10).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,").toString());PLUGIN DE FORMATO DE CURRENCIA JQUERY
http://code.google.com/p/jquery-formatcurrency/
Ampliando la respuesta de Melu, puede hacer esto para funcionalizar el código y manejar cantidades negativas.
Salida de muestra:
$5.23
-$5,23
function formatCurrency(total) { var neg = false; if(total < 0) { neg = true; total = Math.abs(total); } return (neg ? "-$" : '$') + parseFloat(total, 10).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,").toString(); }