Métodos

Todos os documentos possuem os mesmos métodos e funcionam da mesma forma.


validate

Valida o documento passado como argumento. Retorna um bool, True caso seja válido, False caso contrário . Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
doc str '' X O documento que se quer validar.
from validate_docbr import CPF

cpf = CPF()

# Validar CPF
cpf.validate("012.345.678-90")  # True
cpf.validate("012.345.678-91")  # False

Caso especial de CPF

Os CPFs de 000.000.000-00 até 999.999.999-99 são considerados como válidos pois, em alguns casos, existem pessoas vinculadas a eles. Usei a base de dados da Coleção de CNPJs e CPFs brasileiros do Brasil.IO para verificar esses documentos:

CPF Pessoa Consulta
000.000.000-00 - https://brasil.io/dataset/documentos-brasil/documents?search=00000000000&document_type=CPF&document=&name=&sources=
111.111.111-11 AKA CENTRAL PARK - NEW YORK https://brasil.io/dataset/documentos-brasil/documents?search=11111111111&document_type=CPF&document=&name=&sources=
222.222.222-22 - https://brasil.io/dataset/documentos-brasil/documents?search=22222222222&document_type=CPF&document=&name=&sources=
333.333.333-33 - https://brasil.io/dataset/documentos-brasil/documents?search=33333333333&document_type=CPF&document=&name=&sources=
444.444.444-44 - https://brasil.io/dataset/documentos-brasil/documents?search=44444444444&document_type=CPF&document=&name=&sources=
555.555.555-55 ISAEL HERMINIO DA SILVA https://brasil.io/dataset/documentos-brasil/documents?search=55555555555&document_type=CPF&document=&name=&sources=
666.666.666-66 - https://brasil.io/dataset/documentos-brasil/documents?search=66666666666&document_type=CPF&document=&name=&sources=
777.777.777-77 ANTONIO GONÇALO DA SILVA https://brasil.io/dataset/documentos-brasil/documents?search=77777777777&document_type=CPF&document=&name=&sources=
888.888.888-88 - https://brasil.io/dataset/documentos-brasil/documents?search=88888888888&document_type=CPF&document=&name=&sources=
999.999.999-99 JOAQUIM ROCHA MATOS https://brasil.io/dataset/documentos-brasil/documents?search=99999999999&document_type=CPF&document=&name=&sources=

Porém, é comum optar por não validar esses CPFs. Para isso basta usar o parâmetro repeated_digits (por padrão é False) da classe CPF ou mudar a variável de mesmo nome no objeto criado.

from validate_docbr import CPF

cpf = CPF(repeated_digits=True)

# Validar CPF
cpf.validate("111.111.111-11")  # True

# Não aceitando entradas de 000.000.000-00 até 999.999.999-99
cpf.repeated_digits = False

# Validar CPF
cpf.validate("111.111.111-11")  # False

validate_list

Valida uma lista de documentos passado como argumento. Retorna uma lista de bool, True caso seja válido, False caso contrário. Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
docs List[str] [] X A lista de documentos para validar.
from validate_docbr import CPF

cpf = CPF()

# Validar CPFs
cpf.validate_list(["012.345.678-90", "012.345.678-91"])  # [True, False]

validate_docs

Observação: diferente dos outros métodos, esse método é do escopo global do pacote, não precisa-se instanciar uma classe para uso.

Valida vários documentos difererentes. Retorna uma lista com valores bool para cada tupla da lista (na mesma ordem), True caso seja válido, False caso contrário . Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
documents List[Tuple[BaseDoc, str]] [] X Lista de tuplas, cada tupla possui como primeiro elemento o tipo de documento e o segundo elemento o valor que se deseja validar.
import validate_docbr as docbr


# Validar diferentes documentos
docs = [(docbr.CPF, '90396100457'), (docbr.CNPJ, '49910753848365')]
docbr.validate_docs(docs)  # [True, False]

generate

Gera um novo documento, retorna em formato de str. Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
mask bool False - Quando possui o valor True, o documento retornado estará formatado.
from validate_docbr import CPF

cpf = CPF()

# Gerar novo CPF
new_cpf_one = cpf.generate()  # "01234567890"
new_cpf_two = cpf.generate(True)  # "012.345.678-90"

generate_list

Gera uma lista de documentos, retorna em formato de list com elementos do tipo str. Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
n int 1 X A quantidade desejada de documentos que serão gerados.
mask bool False - Se os documentos gerados deverão ter ou não máscara.
repeat bool False - Se aceita ou não documentos repetidos.
from validate_docbr import CPF

cpf = CPF()

# Gerar lista de CPFs
cpfs_one = cpf.generate_list(2)  # [ "85215667438", "28293145811" ]
cpfs_two = cpf.generate_list(2, True)  # [ "852.156.674-38", "282.931.458-11" ]

mask

Mascara o documento passado como argumento. Retorna um str que é o documento mascarado . Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
doc str '' X O documento que se quer mascarar.
from validate_docbr import CPF

cpf = CPF()

cpf_me = "01234567890"

# Mascara o CPF
cpf.mask(cpf_me)  # "012.345.678-90"