Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rudy.Logan

[Resolvido] Mascara

Recommended Posts

Aloha pessoas! alguém pode me dar um help com esta mascara para id de nextel

 

function MascaraNextelID(campo, teclapres){
	//captura o códifo da tecla precionada
	var tecla = teclapres.keyCode;
	//se tecla diferente de backspace ou del
	if(tecla != 8 && tecla != 46){
		var vr = new String(campo.value);
		//retira caracter digitada pelo usuário ou já adicionado
		vr = vr.replace("*", "");
		tam = vr.length + 1;//quantidade de caracter no campo

			if (tam == 3 || tam == 4)
				campo.value = vr.substr(0, 2) + '*' + vr.substr(2, 4);
			if (tam == 5 || tam == 6)
				campo.value = vr.substr(0, 2) + '*' + vr.substr(2, 4) + '*' + vr.substr(6, 11);	
	}
}

Ela funciona normal quando se digita o id por completo, mas se tentar apagar e acabar apagando o caracter numero 4 "*"

ela passa a adiciona-lo uma posição a frente de onde ele deveria estar. Não consigo deixar como o que acontece quando se apaga

o caracter de 2 "*". Note que quando apago o primeiro caracter e mantenho os dois digitos antecessores a ele, ao digiter um outro digito,

o mesmo sera adicionado na posição da frente e onde foi digitado ele aparece o caracter de "*" e isso não acontece com o segundo caracter de estrela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver pessoal, substitui os ifs por esses abaixo

if (tam == 3 || tam == 4)
				campo.value = vr.substr(0, 2) + '*' + vr.substr(2, 2);
			if (tam == 5 || tam == 6)
				campo.value = vr.substr(0, 2) + '*' + vr.substr(2, 2) + '*' + vr.substr(4, 9);	
Mas agora fiquei sem entender minha propria função, alguem pode me esplicas essas substr dos ifs?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.