Boa tarde pessoal, tudo bem ?
Estou fazendo um desafio, e quis tentar diversificar um pouco, por isso gostaria de pedir a opinião de vocês.
O desafio é o seguinte :
"
Escreva um código que receba entradas sem formatação e as retorne formatadas, os tipos de entradas que o código deve retornar são as seguintes:
Telefone fixo (8 dígitos sem DDD xxxx-xxxx, 10 Dígitos com DDD (xx)xxxx-xxxx);
Celular (9 dígitos sem DDD xxxxx-xxxx, 11 dígitos (xx)xxxxx-xxxx);
O código deve ser capaz de detectar as seguintes situações:
- Se receber somente números detectar se corresponde com algum dos formatos aceitos e retornar formatado;
- Se receber uma entrada com quantidade de números diferentes dos padrões descritos acima, informar que não se trata de um número válido;
- Se receber um número formatado, retorna-lo do mesmo jeito e informar de qual tipo de dispositivo se trata;
- Se receber com mascara incorreta, corrigir e retornar
- Se receber qualquer entrada que tenha números e outros caracteres verificar se tem números para compor um dos tipos aceitos e retornar do que se trata ou retornar que foi uma entrada inválida.
"
Eu quis tentar modelar o número em uma classe Chip, e deixar o validador nessa classe.
Código : https://gist.github.com/IgorMiyada/077bd10324de6e045d694f0afdcd86fb
Se puderem dar uma olhada e deixar um feedback, seria de grande ajuda. Agradeço desde já