A normalização não é adicionar um sinal de mais a qualquer sequência de dígitos. Você precisa do contexto do país, de uma análise confiável e de um número que seja realmente plausível.
Armazene um formato internacional
Armazene o número normalizado com um sinal de mais, código de chamada do país e número nacional, sem pontuação de exibição. Um formato de referência evita que o mesmo contato apareça sob diversas variações.
Você pode preservar a entrada original em um campo separado para solução de problemas. A desduplicação e o envio devem usar o valor normalizado validado.
Não adivinhe um país sem contexto
Um número local que começa com zero não pode ser normalizado com segurança sem o seu país. Use uma coluna País, o país do grupo de contato ou uma escolha explícita durante a importação.
Para um arquivo de vários países, exija um prefixo internacional ou valor de país em cada linha. Uma suposição global pode transformar silenciosamente números locais válidos em destinos errados.
Defenda-se contra alterações na planilha
O Excel pode remover um sinal de mais, converter um número longo em notação científica ou eliminar um zero à esquerda. Formate a coluna de origem como texto e inspecione o arquivo exportado.
Durante a importação, aceite espaços, parênteses e travessões como apresentação e remova-os antes da validação. Não invente dígitos quando o comprimento for inconsistente.
- Leia células como strings.
- Converta 00 somente quando o número internacional restante for válido.
- Adicione + após identificar o país.
- Rejeite extensões e texto perdido.
- Retorne um motivo específico de rejeição.
Use uma biblioteca de números de telefone
Os planos de numeração variam de acordo com o país e mudam com o tempo. Uma expressão regular verifica a forma, não se um número é plausível. Use uma biblioteca mantida a partir de metadados de numeração internacional.
Análise separada, possibilidade e validade. Um valor pode ser legível, mas muito curto, ou ter um comprimento possível, embora não corresponda a um intervalo atualmente atribuído.
Torne os erros reparáveis
“Número inválido” não ajuda ninguém a consertar um arquivo. Retorne a linha, o valor original, a suposição do país e o tipo de falha.
Permita que as equipes baixem as linhas rejeitadas e importem apenas os registros corrigidos. Eles não deveriam ter que repetir uma importação de 100.000 contatos para reparar um pequeno conjunto de números.