Escolar Documentos
Profissional Documentos
Cultura Documentos
com:~$ _
Os código de área possíveis no Brasil vão de 10 a 99. Portanto, a expressão regular para validar códigos de área é
[1-9][0-9] (10)|([1-9][1-9])
UPDATE: O Alexandre Taz, em seu comentário, alertou que o único DDD válido terminado em 0 é o 10, que será implementado em breve na Grande São
Paulo, e observou também que prefixos iniciados com o número 6 também foram reservados para celulares. As expressões regulares foram alteradas para
refletir essas alterações. Obrigado, Alexandre!
Trocando em miúdos: na primeira posição, aceitamos dígitos de 1 a 9 e, na segunda, dígitos de 0 a 9. Simples assim.
Se quisermos validar o código de área entre parênteses, como usualmente o código de área é representado, basta acrescentar:
\((10)|([1-9][1-9])\)
Uma vez que os sinais de abre e fecha parênteses porque esses sinais têm significado especial nas expressões regulares, é necessário antecedê-los com uma contrabarra para
que sejam considerados literalmente.
Como dito anteriormente, os números de telefone (os de celular, inclusive) têm oito dígitos. O primeiro dígito do prefixo (os quatro primeiros números) pode variar de 2 a 9;
números iniciados com 1 são reservados para telefônes de emergência, geralmente com 3 dígitos apenas (190 – polícia; 193 – bombeiros, etc.), e não serão validados. Os
outro sete dígitos variam entre 0 e 9. Além disso, entre o quarto e o quinto dígito, vemos normalmente um hífen. De posse dessas informações, montamos seguinte
expressão regular:
[2-9][0-9]{3}-[0-9]{4}
Explicando: o primeiro dígito (representado pelo primeiro grupo) pode variar de 2 a 9. A seguir, temos um grupo que pode variar entre 0 e 9 e se repete {3} vezes, seguido
pelo hífen. O grupo final também pode variar entre 0 e 9 e se repete {4} vezes.
Pelas atuais normas da Anatel, os dígito inicial dos prefixos reservados para números de celular varia entre 7 6 e 9. Logo:
[6-9][0-9]{3}-[0-9]{4}
http://goncin.wordpress.com/2010/08/30/validando-numeros-de-telefone-com-expressoes-regulares/ 1/5
31/7/2014 Validando números de telefone com expressões regulares | goncin@wordpress.com:~$ _
Para os casos em que o código de área será armazenado no mesmo campo que o número do telefone, a expressão regular é:
\((10)|([1-9][1-9])\) [2-9][0-9]{3}-[0-9]{4}
Trata-se simplesmente das máscaras já vistas, colocadas uma após a outra, e com um espaço entre elas para garantir a legibilidade.
Conclusão
Expressões regulares são ótimas para validar dados que obedecem a um padrão. Pesquise, busque, aprenda e melhore suas aplicações com elas. Praticamente todas as
linguagens de programação oferecem suporte a elas. Consulte a documentação da sua linguagem para aprender como elas podem ser aplicadas .
1.
Gosto
Be the first to like this.
Relacionado
Aprendendo a pensar com expressões O novo Registro de Identidade Civil (RIC), e as Entendendo as "relations" (relações) do Yii
regulares implicações para quem é desenvolvedor Framework
Em "programação" Em "php" Em "php"
← JetBrains PhpStorm: o novo garoto no quarteirão dos IDEs para PHP O novo Registro de Identidade Civil (RIC), e as implicações para quem é desenvolvedor →
Seguir
Seguir
27 Respostas para “Validando números de telefone com expressões regulares”
“goncin@wordpress.com:~$
Pingback: Tweets that mention Validando números_”
de telefone com expressões regulares « goncin@wordpress.com:~$ _ -- Topsy.com
Tecnologia WordPress.com
Resposta
http://goncin.wordpress.com/2010/08/30/validando-numeros-de-telefone-com-expressoes-regulares/ 2/5
31/7/2014 Validando números de telefone com expressões regulares | goncin@wordpress.com:~$ _
Resposta
Resposta
Vocês sabem me dizer quais são os prefixos válidos para telefones fixos?
Valeu!
Resposta
Na ocasião em que eu escrevi este post (agosto/2010), eu tinha notícia de que os prefixos de 2 a 6 eram reservados à telefonia fixa, e de 7 a 9, aos celulares. Logo
a seguir, o Alexandre Taz, num comentário aí em cima, alertou que os prefixos iniciados em 6 já haviam migrado daquela para estes.
A grande questão é que o ritmo de crescimento das linhas celulares é bem mais forte do que das linhas fixas. Nesse passo, em São Paulo já começaram a utilizar os
prefixos 5XXX para celulares, como você pode conferir nesta matéria. E, como se isso não bastasse, há ainda a criação do DDD 10 na região metropolitana da capital
paulista.
O jeito é acompanhar os novos capítulos dessa “novela”, que, pelo visto, está ainda longe de seu final.
Resposta
Gostaria de que meu campo de telefone digite as aspas, espaço e o hifen porque se eu deixar o campo validado como voce explicou, vai ficar dificil de receber contatos
pelo site.
Obrigado.
Resposta
Resposta
Resposta
Resposta
http://www.anatel.gov.br/Portal/verificaDocumentos/documento.asp?
numeroPublicacao=26639&assuntoPublicacao=Plano%20Geral%20de%20C%F3digos%20Nacionais%20?
%20PGCN&caminhoRel=null&filtro=1&documentoPath=biblioteca/resolucao/2001/anexo_res_263_2001.pdf
http://goncin.wordpress.com/2010/08/30/validando-numeros-de-telefone-com-expressoes-regulares/ 3/5
31/7/2014 Validando números de telefone com expressões regulares | goncin@wordpress.com:~$ _
Resposta
Quando o artigo foi escrito, o código DDD 10 estava (estaria ainda?) cogitado para a Região Metropolitana de São Paulo.
Resposta
A Anatel desistiu de implantar o DDD 10 e decidiu que a partir de Julho deste ano, os números em São Paulo ganharão o dígito 9 na frente do número.
Resposta
Resposta
Resposta
Resposta
Resposta
http://goncin.wordpress.com/2010/08/30/validando-numeros-de-telefone-com-expressoes-regulares/ 4/5
31/7/2014 Validando números de telefone com expressões regulares | goncin@wordpress.com:~$ _
José Ivan Marciano Junior 07/06/2013 às 12\1238
Pra adequar a validação a nova nomenclatura para os números de São Paulo, não poderíamos modificar a expressão da seguinte forma?
Resposta
Resposta
Resposta
Como não prever os números repetitivos, como telefones somente com o número 1, ou 2, etc., é necessário indicar um padrão inválido e após ser aprovado no primeiro
teste efetuar o segundo, porém se for aprovado no segundo, isso significa que é inválido, por ter todos os números do telefone composto pelo mesmo numeral, eu uso
esta expressão:
Resposta
Resposta
http://goncin.wordpress.com/2010/08/30/validando-numeros-de-telefone-com-expressoes-regulares/ 5/5