Máscara dependendo do tamanho do campo
Pessoal,
Eu achei um script de máscara que vai formatando de acordo com o que vc vai digitando.
Acontece que os tamanhos que eu preciso são diferentes. Eu já mudei tudo que era possível e não consegui entender esse script. Eu sei que é pedir demais pra alguém explicar como ele funciona. Então, se algum entendido puder mudar pra mim, eu agradeço. Os tamanhos que preciso são esses:
99999.999999/99-99
ou
99999.999999/9999-99
Segue o script
function mascara_proc(campo,tammax,teclapres) {
var tecla = teclapres.keyCode;
if ((tecla < 48 || tecla > 57) && (tecla < 96 || tecla > 105) && tecla != 46 && tecla != 8) {
return false;
}
var vr = campo.value;
vr = vr.replace( /\//g, "" );
vr = vr.replace( /-/g, "" );
vr = vr.replace( /\./g, "" );
var tam = vr.length;
if ( tam <= 2 ) {
campo.value = vr;
}
if ( (tam > 2) && (tam <= 5) ) {
campo.value = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam );
}
if ( (tam >= 6) && (tam <= 8) ) {
campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam );
}
if ( (tam >= 9) && (tam <= 11) ) {
campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam );
}
if ( (tam == 12) ) {
campo.value = vr.substr( tam - 12, 3 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam );
}
if ( (tam > 12) && (tam <= 14) ) {
campo.value = vr.substr( 0, tam - 12 ) + '.' + vr.substr( tam - 12, 3 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam );
}
}Discussão (3)
Carregando comentários...