Utilização: onkeydown = "return mascaraMoeda (event,this)"
mascaraMoeda = function (e, obj) {
var tecla = (window.event) ? e.keyCode : e.which;
var cDec = 2; //qtdade de casas decimais
var cMil = 3; //qtdade de casas de milhar
var vOriginal = "";
var vFinal = "";
var tam = "";
var cont = 0;
var result = false;
vOriginal = obj.value;
if (vOriginal.indexOf(".") >= 0 || vOriginal.indexOf(",") >= 0)
vOriginal = vOriginal.replace(/\./g,"").replace(/\,/g,"");
if (vOriginal.substr(0,1) == "0")
vOriginal = vOriginal.slice(1, vOriginal.length);
tam = vOriginal.length;
if ((tecla >= 48 && tecla <= 57) || (tecla >= 96 && tecla <= 105))
result = true;
else if (tecla == 8) {
vOriginal = vOriginal.substr(0, vOriginal.length - 1);
tam = tam - 2;
}
else
return false;
if (vOriginal.substr(0,1) == "0" || tam < cDec) {
var zeros = "";
for (x = tam; x < cDec; x++)
zeros = zeros + "0";
tam = tam + zeros.length;
vOriginal = zeros + vOriginal;
}
for (x = tam; x >= 0; x--) {
var div = "";
if (x == tam - cDec) div = ",";
if (x < tam - (cDec)) cont++;
if (cont == cMil) {
div = ".";
cont = 0;
}
vFinal = vOriginal.substr(x, 1) + div + vFinal;
} obj.value = vFinal;
return result;
}