brcpfcnpj alternatives and similar packages
Based on the "Text and Numbers" category.
Alternatively, view brcpfcnpj alternatives based on common mentions on social networks and blogs.
-
money
Elixir library for working with Money safer, easier, and fun... Is an interpretation of the Fowler's Money pattern in fun.prog. -
nanoid
Elixir port of NanoID, a secure and URL-friendly unique ID generator. https://hex.pm/packages/nanoid -
secure_random
Convenience library for random base64 strings modeled after my love for Ruby's SecureRandom -
chinese_translation
An elixir module to translate simplified Chinese to traditional Chinese, and vice versa, based on wikipedia data -
inet_cidr
CIDR library for Elixir that is compatible with Erlang's :inet and supports both IPv4 and IPv6 -
Ex_Cldr_Units
Unit formatting (volume, area, length, ...) functions for the Common Locale Data Repository (CLDR) -
minigen
Pure random data generation library, appropriate for realistic simulations in the Erlang ecosystem
Nutrient - The #1 PDF SDK Library

Do you think we are missing an alternative of brcpfcnpj or a related project?
README
Brcpfcnpj
Coleção de funções para validação e formatação de CPF e CNPJ. Veja a documentação online.
Como usar
Adicione ao mix.exs
do seu projeto:
defp deps do
[{:brcpfcnpj, "~> 1.0.0"}]
end
Validação de CPF/CNPJ
As funções recebem Strings
representando o número do CPF ou CNPJ e verificam a validade destes números usando dois
critérios:
- O formato da String, que deve seguir o padrão
XX.XXX.XXX/XXXX-XXX
, ondeX
pode ser qualquer dígito de0
a9
, sendo os traços-
, barra/
e pontos.
opcionais. - O conteúdo numérico desta String, validado através do cálculo do
módulo 11
dos dígitos que compõem a String.
A função Brcpfcnpj.cpf_valid?/1
verifica se uma String é um CPF válido:
cpf = "11144477735"
Brcpfcnpj.cpf_valid?(cpf) # ==> true
cpf = "111.444.777-35"
Brcpfcnpj.cpf_valid?(cpf) # ==> true
A função Brcpfcnpj.cnpj_valid?/1
verifica se uma String é um CNPJ válido:
cnpj = "69103604000160"
Brcpfcnpj.cnpj_valid?(cnpj)# ==> true
cnpj = "69.103.604/0001-60"
Brcpfcnpj.cnpj_valid?(cnpj)# ==> true
Formatando a String
As funções Brcpfcnpj.cpf_format/1
e Brcpfcnpj.cnpj_format
retornam a String válida no devido formato. Se a String
não for válida, as funções retornam nil.
cpf = "11144477735"
Brcpfcnpj.cpf_format(cpf) # ==>"111.444.777-35"
cpf = number: "11144477734"
Brcpfcnpj.cpf_format(cpf) # ==> nil
cnpj = "69103604000160"
Brcpfcnpj.cnpj_format(cnpj) # ==>"69.103.604/0001-60"
cnpj = "69103604000161"
Brcpfcnpj.cnpj_format(cnpj) # ==> nil
Gerando números CPF e CNPJ
Use as funções Brcpfcnpj.cpf_generate/1
e Brcpfcnpj.cnpj_generate/1
para gerar CPFs e CNPJs válidos. O parâmetro indica se os números devem ser formatados.
Brcpfcnpj.cpf_generate(true)
"468.535.974-78"
Brcpfcnpj.cnpj_generate(true)
"45.044.251/6215-69"
Sem formatação:
Brcpfcnpj.cpf_generate()
"02239513403"
Brcpfcnpj.cnpj_generate()
"17463578863541"
Ecto
O modulo Brcpfcnpj.Changeset
contém algumas funções que podem ser utilizadas em conjunto com a API de Changesets
do Ecto.
import Brcpfcnpj.Changeset
def changeset(model, params \\ :empty) do
model
|> cast(params, @required_fields, @optional_fields)
|> validate_cnpj(:cnpj)
|> validate_cpf(:cpf)
end
Por padrão esses validadores adicionam a mensagem "Invalid CNPJ/CPF" na lista de erros. Essa mensagem pode ser
configurada com o parâmetro message
:
validate_cnpj(:cnpj, message: "Cnpj Inválido")
Em caso de duvida veja mais detalhes.
Contribuições
Agradecimentos
Inspirado na gem brcpfcnpj.