guilhermesteves / brdoc

Brazilian docs (CPF, CNPJ and CEP) validator for Go!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BR Doc

Build Status GoDoc Go Report Card codecov

CPF, CNPJ, CEP and license plate validator for Go!

Everything in this file, but the License section, is in brazilian portuguese.

This package is also available in gopkg.in as Nhanderu/brdoc.v2.

Descrição

BR Doc é um pacote para validação, tanto do formato quanto dos dígitos, de documentos brasileiros, como CPF, CNPJ, CEP, placa veicular e (futuramente) RG.

Uso

Principais funções:

  • func IsCPF(doc string) bool
  • func IsCNPJ(doc string) bool
  • func IsCEP(doc string, ufs ...FederativeUnit) bool
  • func IsPlate(doc string) bool
  • func IsNationalPlate(doc string) bool
  • func IsMercosulPlate(doc string) bool

Exemplo de valores válidos e inválidos:

// Inválidos por causa da inconsistência do dígito:
brdoc.IsCPF("248.438.034-99")      //=> false
brdoc.IsCNPJ("26.637.142/0001-00") //=> false

// Inválidos por causa do formato:
brdoc.IsCPF("248 438 034 80")    //=> false
brdoc.IsCNPJ("26637142-0001.58") //=> false
brdoc.IsCEP("01 001.001")        //=> false
brdoc.IsPlate("A B C 0 0 0 0")   //=> false

// Inválidos por causa da UF:
brdoc.IsCEP("01001-001", brdoc.RJ) //=> false

// Válidos:
brdoc.IsCPF("248.438.034-80")      //=> true
brdoc.IsCPF("24843803480")         //=> true
brdoc.IsCNPJ("26.637.142/0001-58") //=> true
brdoc.IsCNPJ("26637142000158")     //=> true
brdoc.IsCEP("01001-001", brdoc.SP) //=> true
brdoc.IsCEP("01001001", brdoc.SP)  //=> true
brdoc.IsPlate("AAA-0000")          //=> true
brdoc.IsNationalPlate("ABC1234")   //=> true
brdoc.IsMercosulPlate("ABC1D23")   //=> true

To-do list

  • validação de CPF
  • validação de CNPJ
  • validação de CEP
  • validação de placa veicular
  • validação de RG

Validação de RG não foi implementado porque cada estado tem as suas regras e eu não estou com vontade de terminar isso. 💤

License

This project code is in the public domain. See the LICENSE file.

About

Brazilian docs (CPF, CNPJ and CEP) validator for Go!

License:The Unlicense


Languages

Language:Go 98.0%Language:Shell 2.0%