function mask (param, mascara) {
vr = param.value;
vm = mascara;
vr = stripChars( vr, "/-.,() " );
vm = stripChars( vm, "/-.,()" );
tam = vr.length;
if (tam > vm.length) {
vr = vr.substring(0, vm.length);
tam = vr.length;
}
temp = "";
for (i = mascara.length; i >= 0; i--) {
if (mascara.substring(i, i+1) != " ") {
temp += mascara.substring(i, i+1);
}
else {
if (tam > 0) {
temp += vr.substring(tam-1, tam);
tam--;
}
else {
temp += " ";
}
}
}
result = "";
for (i = mascara.length; i >= 0; i--) {
result += temp.substring(i, i+1);
}
param.value = result;
return true;
}
//////////////////////////////////////////////////////////////////////////////////////////
function stripChars (InString, StripThis) {
OutString="";
for (Count=0; Count < InString.length; Count++) {
TempChar=InString.substring (Count, Count+1);
pertencente = false;
for (i = 0; i < StripThis.length; i++) {
if (TempChar == StripThis.substring(i, i+1)) {
pertencente = true;
break;
}
}
if (!pertencente)
OutString=OutString+TempChar;
}
return (OutString);
}
Com esse código JavaScript você coloca qualquer máscara…
<input name="cep" type="text" class="text-area" id="cep" size="18" maxlength="10" onkeyup="mask(this, ' - ')"/>
Note que o CEP possui apenas 9 dígitos, mas o text field deve ter um tamanho máximo de 1 a mais que o necessário, ou seja, tamanho máximo de 10.
Mas para esse código no caso na máscara IP deverá ser preenchida como: 010.000.000.255
Espero ter ajudado…
Ah! Esse código faz o preenchimento correr da direita para a esquerda!