Para usar é bem simples carrege esse arquivo em seu html e no onload do body execute Mascaras.carregar(); pontro o codigo vai percorrer todoseu html procurando as marcacoes abaixo em seus inputs e aplicando a mascara insira os seguintes atributos nos seus input tipo = pode ser numerico ou decimal mascara = é a mascara a ser usada coloque # nas posições dos caracteres ex : "##:##" casasdecimais = para o caso do tiposer decimal aqui eh dito quantas casas decimais vaum ser usadas negativo = isso define um sinal de negativo no inicio do valor pronto é so isso exemplos: aqui so da para digitar numeros aqui so da para digitar numeros e no caso de precionar "-" umsinal de negativo vai aparecer data cpf ================================================================================== Mascaras = { IsIE: navigator.appName.toLowerCase().indexOf('microsoft')!=-1, AZ: /[A-Z]/i, Acentos: /[À-ÿ]/i, Num: /[0-9]/, carregar: function(parte){ var Tags = ['input','textarea']; if (typeof parte == "undefined") parte = document; for(var z=0;z 50) tamanho = 10; if (!casasdecimais) casasdecimais = 2; campo.setAttribute("mascara", this.geraMascaraDecimal(tamanho, casasdecimais)); campo.setAttribute("tipo", "numerico"); campo.setAttribute("orientacao", orientacao); } if (orientacao && orientacao.toLowerCase() == "esquerda") campo.style.textAlign = "right"; if (mascara) campo.setAttribute("maxLength", mascara.length); if (tipo){ campo.onkeypress = function(e){ return Mascaras.onkeypress(e?e:event); }; campo.onkeyup = function(e){ Mascaras.onkeyup(e?e:event, campo) }; } campo.setAttribute("snegativo", ((campo.value).substr(0,1) == "-" ? "s" : "n")); }, onkeypress: function(e){ KeyCode = this.IsIE ? event.keyCode : e.which; campo = this.IsIE ? event.srcElement : e.target; readonly = campo.getAttribute('readonly'); if (readonly) return; maxlength = campo.getAttribute('maxlength'); pt = campo.getAttribute('pt'); selecao = this.selecao(campo); if (selecao.length > 0 && KeyCode != 0){ campo.value = ""; return true; } if (KeyCode == 0) return true; Char = String.fromCharCode(KeyCode); valor = campo.value; mascara = campo.getAttribute('mascara'); if (KeyCode != 8){ tipo = campo.getAttribute('tipo').toLowerCase(); negativo = campo.getAttribute('negativo'); if(negativo && KeyCode == 45){ snegativo = campo.getAttribute('snegativo'); snegativo = (snegativo == "s" ? "n" : "s"); campo.setAttribute("snegativo", snegativo); }else{ valor += Char if (tipo == "numerico" && Char.search(this.Num) == -1) return false; if (KeyCode != 32 && tipo == "caracter" && Char.search(this.AZ) == -1 && Char.search(this.Acentos) == -1) return false; } } if (mascara){ this.aplicarMascara(campo, valor); return false; } return true; }, onkeyup: function(e, campo){ KeyCode = this.IsIE ? event.keyCode : e.which; if (KeyCode != 9 && KeyCode != 16 && KeyCode != 109){ valor = campo.value; if (KeyCode == 8 && !this.IsIE) valor = valor.substr(0,valor.length-1); this.aplicarMascara(campo, valor); } }, aplicarMascara: function(campo, valor){ mascara = campo.getAttribute('mascara'); if (!mascara) return; negativo = campo.getAttribute('negativo'); snegativo = campo.getAttribute('snegativo'); if (negativo && valor.substr(0,1) == "-") valor = valor.substr(1,valor.length-1); orientacao = campo.getAttribute('orientacao'); var i = 0; for(i=0;i= valor.length) break; } }else{ contador = valor.length-1; for(i=mascara.length-1;i>=0;i--){ if(contador < 0) break; caracter = mascara.substr(i,1); if (caracter == "#"){ retorno = valor.substr(contador,1) + retorno; contador--; }else retorno = caracter + retorno; } } if (negativo && snegativo == "s") retorno = "-" + retorno; campo.value = retorno; }, geraMascaraDecimal: function(tam, decimais){ var retorno = ""; var contador = 0; var i = 0; decimais = parseInt(decimais); for (i=0;i<(tam-(decimais+1));i++){ retorno = "#" + retorno; contador++; if (contador == 3){ retorno = "." + retorno; contador=0; } } retorno = retorno + ","; for (i=0;i