Strings e VARCHAR.
-
Não tente armazenar números de telefone como números reais. vai estragar a formatação, remova o0
anterior s e outras coisas indesejáveis.
-
Você pode, se desejar, restringir as entradas do usuário a apenas valores numéricos, mas mesmo nesse caso, mantenha seus dados persistentes de apoio como caracteres/strings e não números.
-
Esteja ciente do mundo mais amplo e como seus comprimentos de número e formatação diferem antes de tentar implementar qualquer tipo de restrição de comprimento, validações ou máscaras (por exemplo, XXX-XXXX-XX).
-
Caracteres não numéricos podem ser válidos em números de telefone. Um excelente exemplo sendo+
como substituto para00
no início de um número internacional.
Editado da conversa nos comentários:
- É um dos maiores erros de interface do usuário que os números de telefone tenham algo a ver com números. É muito melhor pensar e tratá-los como endereços, é mais próximo do que eles realmente são e representam do que "números" de telefone.