Dúvida sobre formatação de Telefone

5 respostas
nooorton

Boa tarde pessoal.

Estou tendo um sério problema aqui. Estou buscando uma forma de formatar números de telefone que recebem DDI e DDD ao mesmo tempo.

A forma que recebo os telefones é a seguinte:

00 + DDI + DDD + Telefone (Exemplo: 0059829162202)
Sendo que:
DDI pode ter de 1 a 3 digitos
DDD pode ter de 1 a 3 digitos
e o telefone seria o restante (sem necessidade de ser formatado - pois existem telefones de 6 a 9 dígitos).

Na minha base de dados consta o país de onde vêm o número. Ou seja, posso criar uma base de dados contendo TODOS os DDI de todas as regiões do planeta para saber seu tamanho. Porém não sei como faria isso para o DDD.

Gostaria de saber, se alguém sabe alguma maneira de formatar isso!

Obrigado!

5 Respostas

Mephy

ou você recebe um dado adicional (tamanho do DDD ou tamanho do telefone), ou você faz isso aleatoriamente u.u
não tem como saber se em 00-00-[telefone removido], você tem 2 pro DDD e 8 pro telefone, 1 pro DDD e 9 pro telefone, ou 3 pro DDD e 7 pro telefone

nooorton

O tamanho do DDI eu até consegui encontrar na minha base… Mais o tamanho de DDD para cada pais é tenso! São 300 países, imagina o tanto de área que cada país tem… Por isso fica meio complicado ;/

nooorton

Bom, tive um progresso…

No exemplo que enviei acima (0059829162202)

Já consigo formatar da seguinte maneira:

(+[telefone removido], como 00 é identificador de chamadas internacionais, posso remove-lo.

Tenho uma base de dados que contem o PAIS de destino e seu respectivo DDI (assim posso contar quantos dígitos tem o DDI do dado pais).

Porém ainda não consegui uma forma de saber quantos dígitos tem o DDD do pais (lembrando que existem ddds de 1 a 4 digitos).
Também não posso fazer o caminho inverso (contanto dígitos do número do telefone), pois esses também são variáveis de 6 a 9 dígitos.

Alguém tem alguma sugestão ?

nooorton

É acho que o jeito vai ser não formatar mesmo. To achando complicado d+ separar o DDD do telefone :wink:

WellingtonRamos

nooorton:
Bom, tive um progresso…

No exemplo que enviei acima (0059829162202)

Já consigo formatar da seguinte maneira:

(+[telefone removido], como 00 é identificador de chamadas internacionais, posso remove-lo.

Tenho uma base de dados que contem o PAIS de destino e seu respectivo DDI (assim posso contar quantos dígitos tem o DDI do dado pais).

Porém ainda não consegui uma forma de saber quantos dígitos tem o DDD do pais (lembrando que existem ddds de 1 a 4 digitos).
Também não posso fazer o caminho inverso (contanto dígitos do número do telefone), pois esses também são variáveis de 6 a 9 dígitos.

Alguém tem alguma sugestão ?


Para este caso, é mais simples não formatar. Exemplo: Fone São Paulo - Brasil +551177272745 (número fictício representando SPBRASIL).

Criado 8 de agosto de 2011
Ultima resposta 9 de ago. de 2011
Respostas 5
Participantes 3