Ir ao conteúdo

Validar telefone com o nono digito


Ferreira27

Posts recomendados

Postado

tenho que validar telefone no formato (xx)xxxx-xxxx lembrando se que o telefone deve ser trato como padrão convencional 10 números, porém se o usuário informar o nono digito, o padrão deve mudar para (xx)xxxxx-xxxx

como posso inserir o nono digito nesse código

function telefone(f) {
if (f.tel.value.length<9 || f.tel.value.length>10) {
alert("Preencha o telefone corretamente.");
f.tel.focus();
}else{
ddd = f.tel.value.substring(0,2);
if (f.tel.value.length==9) {
part1 = f.tel.value.substring(2,5);
part2 = f.tel.value.substring(5,9);
}
if (f.tel.value.length==10) {
part1 = f.tel.value.substring(2,6);
part2 = f.tel.value.substring(6,10);
}
f.tel.value = "("+ddd+") "+part1+"-"+part2
}
}

Postado

Ferreira,

Você poderia usar expressões regulares para validar melhor o telefone. Estou dando um exemplo, mas você vai precisar adaptar.

Se quiser ver o código em funcionamento, acesse: http://jsfiddle.net/HTHmz/

A validação é a seguinte:

Aceita uma string contendo apenas dígitos, de tamanho 10 ou 11; letras ou outros caracteres são considerados inválidos e a função retorna false, caso contrário, retorna o telefone formatado.

<!DOCTYPE html>

<body>
<script>
function telefone(f)
{

var patt = /\b\d{10,11}\b/;
var resul = patt.test(f);

if (resul == false)
{
alert("Preencha o telefone corretamente.");
return resul;
}

var ddd = f.substring(0, 2);

if (f.length == 10)
{
part1 = f.substring(2, 6);
part2 = f.substring(6, 10);
}
else if (f.length == 11)
{
part1 = f.substring(2, 7);
part2 = f.substring(7, 11);
}

return "(" + ddd + ")" + part1 + "-" + part2;

}
document.write(telefone("2155557777") + "<BR>");
document.write(telefone("21988885555") + "<BR>");
document.write(telefone("219888855550") + "<BR>");
document.write(telefone("A88885555") + "<BR>");
</script>
</body>

:natal:

LNW

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!