Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
ola galera,
eu peguei uma mascara universal faz algum tempo em algum forum, excelente, adaptavel para diversas situacoes... porem, ela nao funciona no internet explorer... como sempre uso firefox, so fui perceber agora, prestes a entregar o sistema....
como nao tenho muita habilidade com javascript, nao sei como apadtar a mascara para funcionar no ie...
estou postando abaixo o javascript para quem quiser contribuir!
// JavaScript Document
<!--
//MÁSCARA DE VALORES
function txtBoxFormat(objeto, sMask, evtKeyPress) {
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
if(document.all) { // Internet Explorer
nTecla = evtKeyPress.keyCode;
} else if(document.layers) { // Nestcape
nTecla = evtKeyPress.which;
} else {
nTecla = evtKeyPress.which;
if (nTecla == 8) {
return true;
}
}
sValue = objeto.value;
// Limpa todos os caracteres de formatação que
// já estiverem no campo.
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( ":", "" );
sValue = sValue.toString().replace( ":", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( " ", "" );
sValue = sValue.toString().replace( " ", "" );
fldLen = sValue.length;
mskLen = sMask.length;
i = 0;
nCount = 0;
sCod = "";
mskLen = fldLen;
while (i <= mskLen) {
bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
if (bolMask) {
sCod += sMask.charAt(i);
mskLen++; }
else {
sCod += sValue.charAt(nCount);
nCount++;
}
i++;
}
objeto.value = sCod;
if (nTecla != 8) { // backspace
if (sMask.charAt(i-1) == "9") { // apenas números...
return ((nTecla > 47) && (nTecla < 58)); }
else { // qualquer caracter...
return true;
}
}
else {
return true;
}
}<!-- EXEMPLOS
<!-- Data:<input type="text" size="20" onkeypress="return txtBoxFormat(this, '99/99/9999', event);"> -->
<!-- RG:<input type="text" size="20" onkeypress="return txtBoxFormat(this, '99.999.999-9', event);"> -->
<!-- Telefone:<input type="text" size="20" onkeypress="return txtBoxFormat(this, '(99)9999-9999', event);"> -->
<!-- Código:<input type="text" size="20" onkeypress="return txtBoxFormat(this, '99-999', event);"> -->obrigado por qualquer ajuda!!
um abraco!!
Carregando comentários...