Ir para conteúdo

POWERED BY:

Arquivado

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

rootzig

Expressão Regular para Telefones

Recommended Posts

Olá,

Gostaria de fazer uma expressão regular para pegar em um texto telefones com as seguintes variações:

(999)99999-9999

(99)99999-9999

(999)999999999

(99)999999999

(999) 99999 9999

(99) 99999 9999

(999) 999999999

(99) 999999999

99999-9999

99999 9999

99 99999 9999

999 99999 9999

99 999999999

999 999999999

99999999999

999999999999

 

Eu tenho essas, só que não posso usar assim se não vai acabar duplicando os números.

Quero unir todas essas variações em uma úncia expressão.

 

preg_match_all("/([0-9]){0,3}\-([9]{1})?([0-9]{4})-([0-9]{4})/",trim($descricao[0][0]),$telefone_tipo2); 
preg_match_all("/(\([0-9]{2}\))\s([9]{1})?([0-9]{4})-([0-9]{4})/",trim($descricao[0][0]),$telefone_tipo3); 
preg_match_all("/([0-9]{2})\s([9]{1})?([0-9]{4}) ([0-9]{4})/",trim($descricao[0][0]),$telefone_tipo4); 
preg_match_all("/([0-9]{3})\s([9]{1})?([0-9]{4})([0-9]{4})/",trim($descricao[0][0]),$telefone_tipo5); 
preg_match_all("/([0-9]{2})\s([9]{1})?([0-9]{4})([0-9]{4})/",trim($descricao[0][0]),$telefone_tipo6); 
preg_match_all("/([0-9]{1,3})?([0-9]{5})([0-9]{4})/",trim($descricao[0][0]),$telefone_tipo7); 

Obrigado, até

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara,

Eu adorava conseguir ajudar..significava que já era bom nessa matéria...mas ainda não sou :(

O máximo que consigo fazer é partilhar contigo os locais onde vou ler/estudar quando tenho dúvidas:

 

http://aurelio.net/regex/guia/

https://tableless.com.br/o-basico-sobre-expressoes-regulares/

 

Bons estudos,

Não esquece de partilhar o desenrolar deste projecto :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu,

Acabei chegando nessa que já resolveu meu caso.

 

(\()?[0-9]{0,3}(\)?)([9]?)(\-?)[0-9]{0,}(\-?)[0-9]{0,}

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ppanetony
      Olá...
       
      Tem como numa expressão regular eu limitar a quantidade de vezes que aparece determinado caracter, estando ou nao na sequencia?!
      Exemplo: no texto 0123456789 só poderá ter no máximo 3 caracteres /. em qualquer parte do texto. (012/345/6/789 ou 01/23/456/789 ou 0123/45/67/89, etc...)
       
       
      obrigado.
    • Por Dr. Programador
      Boa tarde pessoal!
       
      Estou querendo que seja somente aceito:  letras, números, pontos, hifens e sublinhados(underline).
      E também não quero que aceite @site.com.br caso ele digite.
       
      Estou tendo utilizar a função abaixo, porém não tenho ideia como mexer na expressão regular:
      function validaEmail($mail) { if(preg_match("/^([[:alnum:]_.-]){3,}([[:lower:][:digit:]_.-]{3,})(.[[:lower:]]{2,3})(.[[:lower:]]{2})?$/", $mail)) { return 'Correto!'; } else { return 'Errado!'; } } $cliente_email = 'contato.cliente'; echo validaEmail($cliente_email);  
      Alguém poderia me ajudar nesta validação?
       
      Desde já agradeço!
    • Por Marcelo Cajaíba
      1040001300003T 060000005005670000000 1400000000055656211556562 06122016000000000001000104036620556562 090000000000000000teste fulando 000000000000450030100
      Olá Colegas euq ueria pegar o valor que está entre as posições 78 á 92
      eu queria pegar apartir do T e achar as posições
      preg_match('/^T{69}/', $texto, $valor_pago);
    • Por Dárcio Gomes
      Salve galera...
       
      estou a fazer algumas melhorias em nossa plataforma web e algumas decisões estou a tratar direto no .htaccess, me barrei na seguinte situação:
       
      no .htaccess tem um redirecionamento que quando o usuário acessa o site sem digitar o www o htacces se encarrega de acrescentar o www e redireciona para o dominio solicitado já com o www, até ai tudo certo, porém preciso definir um protocolo na url destino direto no htaccess para que funcione corretamente EX:http,https
       
      gostaria que quando o site estivesse sendo acessado o proprio htaccess identificasse se o usuário está no https ou http e então direcionar para o protocolo que estiver na url para que não seja nescessário fazer isso através do PHP pois isso irá gerar mais um direcionamento, que se tratando de SEO não seria muito recomendado.
       
      sei que há como verificar se o usuário está no https ou não, o problema é como criar uma expressão regular para se aplicar a essa regra?
       
      por exemplo:
      no PHP usaria assim:

      if($_SERVER['HTTPS'] == 'on'){ echo "https://www.dominio.com.br"; }else{ echo "http://www.dominio.com.br"; } a mesma constante pode ser utilizada no htaccess da seguinte forma %{HTTPS}.esse é meu htaccess atual:

      RewriteEngine on RewriteCond %{HTTP_HOST} !^www [NC] RewriteCond %{HTTP_HOST} \.(br|com|net|org|adv|ind|art|eng|inf|tur|srv|tv)$ [NC] RewriteRule ^(.*) [url=]http://www.%[/url]{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteRule !\.(txt|css|js|gif|jpeg|jpg|png|ico|JPG|JPEG|PNG|GIF|eot|ttf|woff|woff2|php|html|ogg|mp3|mp4|wma|avi|xml)$ run.php  
      meu problema está na penúltima linha, gostaria que ficasse da seguinte forma:
       
      gostaria que ficasse assim:

      RewriteEngine on RewriteCond %{HTTP_HOST} !^www [NC] RewriteCond %{HTTP_HOST} \.(br|com|net|org|adv|ind|art|eng|inf|tur|srv|tv)$ [NC] RewriteRule ^(.*) (aqui a expressão que defina se está no https ou http)://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteRule !\.(txt|css|js|gif|jpeg|jpg|png|ico|JPG|JPEG|PNG|GIF|eot|ttf|woff|woff2|php|html|ogg|mp3|mp4|wma|avi|xml)$ run.php  
      Como não sou muito bom em expressão regular não consegui achar uma lógica que funcione como preciso, alguém poderia me dar alguma dica de como criar uma expressão regular que atenda essa necessidade?
       
      desde já agradeço a todos que se dispuserem a dar essa força.
       
      abraço a todos.
×

Informação importante

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