import re
class Telefone_Br:
def __init__(self, telefone):
if self.valida_telefone(telefone):
self.numero = telefone
else:
raise ValueError ('Telefone inválido.')
def valida_telefone(self, telefone):
padrao = '([0-9]{1,3})?([0-9]{2})([0-9]{4,5})([0-9]{4})' # o ? diz que não é obrigatório
resposta = re.findall(padrao, telefone)
if resposta:
return True
else:
return False
def formata_telefone(self):
padrao = '([0-9]{1,3})?([0-9]{2})([0-9]{4,5})([0-9]{4})'
resposta = re.search(padrao, self.numero)
numero_formatado = '+{}({}){}-{}'.format(
resposta.group(1),
resposta.group(2),
resposta.group(3),
resposta.group(4)
)
print(numero_formatado)
from TelefoneBr import Telefone_Br
celular = '5521991234567'
celular_objeto = Telefone_Br(celular)
celular_objeto.formata_telefone()
SAÍDA
+552(19)9123-4567
Como fazer sair +55 (21) 99123-4567
LEMBRANDO: DDI é de 1 a 3 dígitos.