Como Validar CNPJ em Python (Script Simples)
Aprenda a criar uma função de validação de CNPJ em Python. Entenda o cálculo dos dígitos verificadores.
Introdução
O CNPJ (Cadastro Nacional da Pessoa Jurídica) possui um algoritmo de validação específico. Este tutorial mostra como implementar essa verificação em Python.
O Algoritmo
O algoritmo utiliza pesos de 2 a 9 para calcular os dois dígitos verificadores. A soma é dividida por 11 e o resto determina o dígito.
Implementação em Python
cnpj.pypython
import re
def validate_cnpj(cnpj: str) -> bool:
cnpj = re.sub(r'[^0-9]', '', cnpj)
if len(cnpj) != 14 or len(set(cnpj)) == 1:
return False
# Validação do primeiro dígito
weights = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
sum_val = sum(int(cnpj[i]) * weights[i] for i in range(12))
remainder = sum_val % 11
digit_1 = 0 if remainder < 2 else 11 - remainder
if int(cnpj[12]) != digit_1:
return False
# Validação do segundo dígito
weights = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
sum_val = sum(int(cnpj[i]) * weights[i] for i in range(13))
remainder = sum_val % 11
digit_2 = 0 if remainder < 2 else 11 - remainder
return int(cnpj[13]) == digit_2O código remove caracteres não numéricos e verifica o tamanho. Em seguida, aplica os pesos definidos pela Receita Federal para validar cada um dos dois dígitos finais.
Não quer escrever código?
Use nossa ferramenta online gratuita para processar CNPJ instantaneamente. Perfeito para testes rápidos.
Usar Ferramenta de CNPJ Online