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