A Go module to validate CPF and CNPJ numbers (Brazilian people and companies unique identifier for the Federal Revenue).
The pseudo-acronym CNPF is a sort of tong-twister and a common typo when developers discuss the implementation of objects that could hold either a CPF or a CNPJ numbers.
package main
import "github.com/cuducos/go-cnpf"
func main() {
// these return true
cnpf.IsValid("23858488135")
cnpf.IsValid("238.584.881-35")
cnpf.IsValid("11222333000181")
cnpf.IsValid("11.222.333/0001-81")
// these return false
cnpf.IsValid("111.111.111-11")
cnpf.IsValid("11.111.111/1111-11")
cnpf.IsValid("123.456.769/01")
cnpf.IsValid("12.345.678 9012-34")
cnpf.IsValid("ABC.DEF.GHI-JK")
cnpf.IsValid("AB.CDE.FGH/IJKL-MN")
cnpf.IsValid("123")
// these returns 11111111111 and 11111111111111
cnpf.Unmask("111.111.111-11")
cnpf.Unmask("11.111.111/1111-11")
// this returns 111.111.111-11 and 11.111.111/1111-11
cnpf.Mask("11111111111")
cnpf.Mask("11111111111111")
}