![]() |
Python
1.0
|
CNPJ validation. More...
Functions | |
def | areValidDigits (cnpj, dv) |
Validates a CNPJ using the verification digits (DV). More... | |
def | main (argv=None) |
Variables | |
input = raw_input | |
CNPJ validation.
Some valid cnpjs:
Para exemplificar o processo de validação, serão calculados os dígitos verificadores de um CNPJ hipotético, 11.444.777/0001-XX.
Calculando o Primeiro Dígito Verificador.
O primeiro dígito verificador do CNPJ é calculado utilizando-se o seguinte algoritmo:
1 1 4 4 4 7 7 7 0 0 0 1 5 4 3 2 9 8 7 6 5 4 3 2
1 1 4 4 4 7 7 7 0 0 0 1 5 4 3 2 9 8 7 6 5 4 3 2 5 4 12 8 36 56 49 42 0 0 0 2
Se o resto da divisão for menor do que 2, o primeiro dígito verificador se torna zero.
Caso contrário, subtraia o valor obtido de 11, para obter o primeiro dígito verificador: 11-5 = 6.
Portanto, o CNPJ até agora está assim: 111.444.777-6X.
Calculando o Segundo Dígito Verificador
Para o cálculo do segundo dígito, será usado o primeiro dígito verificador já encontrado:
1 1 4 4 4 7 7 7 0 0 0 1 6 6 5 4 3 2 9 8 7 6 5 4 3 2
1 1 4 4 4 7 7 7 0 0 0 1 6 6 5 4 3 2 9 8 7 6 5 4 3 2 6 5 16 12 8 63 56 49 0 0 0 3 12
Ao final dos cálculos, descobre-se que os dígitos verificadores do CNPJ hipotético são os números 6 e 1.
Portanto, o CNPJ completo é: 11.444.777/0001-61.
def _05c_cnpj.areValidDigits | ( | cnpj, | |
dv | |||
) |
Validates a CNPJ using the verification digits (DV).
cnpj | CNPJ. |
dv | verification digits. |
References _03e_multiply.dotProd(), and _01f_getDigit.getDigit().
Referenced by main().
def _05c_cnpj.main | ( | argv = None | ) |
References areValidDigits(), and input.
_05c_cnpj.input = raw_input |
Referenced by main().