1
resposta

[Dúvida] problema na formatação de número

Meu código format está bugando ele está igual o passado no curso porém em alguns estados se adiciona um 9, por exemplo no Espirito Santo que ficaria +55 (27) 9 e numero e quando digito um número do tipo sai errado a formatação por exemplo: +552(79)9697-9471 sendo que deveria sair +55(27) 99697-9471 e o código:

padrao = "([0-9]{2,3})?([0-9]{2})([0-9]{4,5})([0-9]{4})" 

mesmo tendo o 4,5 não está reconhecendo o 5 ele está conflitando com o 2,3 do codigo do país como consigo resolver isso?

1 resposta

Olá Natanael!

Pelo que entendi, você está tendo problemas na formatação do número de telefone em alguns estados do Brasil. De fato, alguns estados adicionam o dígito 9 antes do número de telefone.

O problema que você está enfrentando pode ser resolvido incluindo um grupo opcional na sua expressão regular para reconhecer o dígito 9. Além disso, é importante incluir os parênteses na expressão regular para garantir que a formatação do número seja correta.

Tente utilizar a seguinte expressão regular:

padrao = "(\+55)?\s*(\d{2})\s*(\d{2})?\s*(\d{4,5})\s*(\d{4})"

Essa expressão regular reconhece o código do país (+55) como um grupo opcional, seguido de zero ou mais espaços em branco (\s*), o código da região (\d{2}), um grupo opcional para o dígito 9 (\d{2}) em alguns estados, o número de telefone (\d{4,5}) e o número final (\d{4}).

Essa expressão regular deve funcionar para a maioria dos casos de números de telefone no Brasil. No entanto, é importante lembrar que a formatação pode variar em alguns estados e é sempre bom testar a expressão regular com diferentes exemplos para garantir que ela esteja funcionando corretamente.

Espero ter ajudado e bons estudos!