Como fazer um validador de CPF em Tyepscript
- #Ionic
É comum que um programador se depare, mais cedo ou mais tarde, com um problema onde terá que fazer uma validação de CPF (Cadastro de Pessoa Física) ou CNPJ (Cadastro Nacional de Pessoa Jurídica), seja no trabalho ou na faculdade. Apesar de parecer um problema complexo, a validação é feita com base em um cálculo matemático, e pode ser replicada em qualquer linguagem de programação sem muitas dificuldades. Há pouco tempo atrás, tive que implementar um validador de CPF e CNJP na empresa em que trabalho, utilizando Ionic e Typescript. E, neste mês, também me deparei com o mesmo problema durante uma aula da faculdade, mas em linguagem C. Hoje trarei a solução de como fazer um validador de CPF para Typescript e Ionic, que pode ser utilizado tanto para aplicações PWA, Web ou Mobile. No próximo artigo, trarei a solução de como implementar um validador de CNPJ, que possui lógica bem similar.
Antes de exibir o código, farei uma breve explicação sobre como funciona esta fórmula matemática para validação do CPF. A fórmula para validar um número de CPF é conhecida por “módulo 11”, que consiste em gerar um número multiplicando cada dígito por um fator de acordo com a sua posição. Depois, é realizado uma divisão por 11 e é gerado o dígito verificador baseado em uma regra usando o resto da divisão. Os dois últimos números do CPF são os dígitos verificadores, cada um deles é calculado utilizando esta regra, mas com fatores distintos. O cálculo do primeiro dígito leva em conta os nove primeiros números do CPF, o cálculo do segundo dígito leva em consideração os nove primeiros números novamente e mais o primeiro dígito verificador. Mas não vou entrar em muitas detalhes e demonstrações matemáticas aqui.
Apenas como curiosidade, é possível saber o estado de origem do CPF da pessoa apenas verificando o número do mesmo, pois o nono algarismo do CPF representa o estado de origem. Por exemplo, considerando o CPF 123.456.789–00, o nono algarismo é o 9, indicando que a origem do CPF é do estado do Paraná ou Santa Catarina. Para saber qual o estado de origem de um determinado CPF, é utilizada a seguinte lista: 1. Distrito Federal, Goiás, Mato Grosso do Sul e Tocantins; 2. Pará, Amazonas, Acre, Amapá, Rondônia e Roraima; 3. Ceará, Maranhão e Piauí; 4. Pernambuco, Rio Grande do Norte, Paraíba e Alagoas; 5. Bahia e Sergipe; 6. Minas Gerais; 7. Rio de Janeiro e Espírito Santo; 8. São Paulo; 9. Paraná e Santa Catarina; 0. Rio Grande do Sul. Segue então o código comentado de validação de CPF em Typescript.
Código em html
Código em typescript, com Ionic