ExEssentials.BrazilianDocument.Validator (ExEssentials v0.7.0)
View SourceProvides validation for Brazilian CPF and CNPJ documents, including support for alphanumeric CNPJs. This module can be used to validate individual CPF or CNPJ numbers, with or without formatting characters.
## Examples
iex> ExEssentials.BrazilianDocument.Validator.valid?("26944480000132")
true
iex> ExEssentials.BrazilianDocument.Validator.valid?("26944480000132")
true
iex> ExEssentials.BrazilianDocument.Validator.valid?("12ABC34501DE35")
true
iex> ExEssentials.BrazilianDocument.Validator.valid?("48335092029")
false
iex> ExEssentials.BrazilianDocument.Validator.valid?("26944480000133")
false
iex> ExEssentials.BrazilianDocument.Validator.valid?("AB123CD456EF01")
false
The valid?/1
function will automatically detect whether the given document is a CPF or CNPJ based on its length.
Summary
Functions
Validates a CNPJ (Cadastro Nacional da Pessoa Jurídica), including support for alphanumeric formats. It detects if the CNPJ is numeric or alphanumeric and applies the appropriate validation rules.
Validates a CPF (Cadastro de Pessoas Físicas). The function extracts numeric digits, verifies check digits, and checks against known invalid repeated values.
Determines if a given string is a valid CPF or CNPJ. It strips whitespace and delegates to the appropriate validation function based on document length.
Functions
Validates a CNPJ (Cadastro Nacional da Pessoa Jurídica), including support for alphanumeric formats. It detects if the CNPJ is numeric or alphanumeric and applies the appropriate validation rules.
## Parameters
- cnpj: a string containing a numeric or alphanumeric CNPJ.
## Examples
iex> ExEssentials.BrazilianDocument.Validator.cnpj_valid?("78944804000136")
true
iex> ExEssentials.BrazilianDocument.Validator.cnpj_valid?("12ABC34501DE35")
true
iex> ExEssentials.BrazilianDocument.Validator.cnpj_valid?("78944804000137")
false
iex> ExEssentials.BrazilianDocument.Validator.cnpj_valid?("12ABC34501DE36")
false
Validates a CPF (Cadastro de Pessoas Físicas). The function extracts numeric digits, verifies check digits, and checks against known invalid repeated values.
## Parameters
- cpf: a string containing a CPF, formatted or not.
## Examples
iex> ExEssentials.BrazilianDocument.Validator.cpf_valid?("05859468092")
false
iex> ExEssentials.BrazilianDocument.Validator.cpf_valid?("05859468091")
true
Determines if a given string is a valid CPF or CNPJ. It strips whitespace and delegates to the appropriate validation function based on document length.
## Parameters
- document: a string containing a CPF or CNPJ, with or without formatting.
## Examples
iex> ExEssentials.BrazilianDocument.Validator.valid?("16664593051")
false
iex> ExEssentials.BrazilianDocument.Validator.valid?("16664593050")
true
Returns true
if valid, false
if invalid.