Ola ja axei varios scripts para mascara mas nenhum para oque eu quero, seguinte... Como hj em dia existe telefone com 4 digitos iniciais e nao só com 3 como antigamente, quero que o script verificasse qtos caracteres tem no campo e acrescentasse os () e -.. seria mais ou menos assim
<input type="text" name="fone" OnChange=mascara();>
Função mascara(){
if (campo.value.length == 9){ // seria 45 225 2525
campo.value.length(1) = '('; // no caractere 1 inserir (
campo.value.length(4) = ')'; // no caractere 4 inserir )
campo.value.length(8)= '-'; // no caractere 8 inserir -
// Numero digitado inicial 452252525
// Numero depois de formatado (45)225-2525
// Mesma ideia dai caso fosse = 11 caracteres, 45 3038 2525
}
}
Gostaria de saber como eu insiro um caracter num campo com conteudo ja existente sem eleminar este conteudo, só acrescentar na posição???
Vê se é isto:
Adimitindo que
strTelefone = campo, no caso "fone".
Segue...
------------------------------------------------
strTelefoneFmt = strTelefone.toString();
// Obter o tamanho a strTelefone
intTamTelefone = strTelefoneFmt.length;
if (intTamTelefone > 10) {
intTamTelefone = 10;
strTelefoneFmt = strTelefoneFmt.substr(0, 10);
}
// Formatar Telefone com o -
if (intTamTelefone > 6) {
strTelefoneFmt = "(" + strTelefoneFmt.substr(0, 2) + ") " +
strTelefoneFmt.substr(2, 4) + "-" +
strTelefoneFmt.substr(6, 4);
} else if (intTamTelefone > 2) {
strTelefoneFmt = "(" + strTelefoneFmt.substr(0, 2) + ") " +
strTelefoneFmt.substr(2, 4)
} else if (intTamTelefone > 0) {
strTelefoneFmt = "(" + strTelefoneFmt;
}
------------------------------------------------
Resultado =
(99) 9999-9999Até mais...