cnpj on the way
parent
5b31c05c53
commit
aa95d54618
|
@ -1,6 +1,6 @@
|
||||||
# Validators
|
# Validators
|
||||||
|
|
||||||
Package with multiple complex validation entities (only CPF now)
|
Package with multiple complex validation entities (only CPF & CNPJ now)
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
|
|
16
cnpj/lib.go
16
cnpj/lib.go
|
@ -38,13 +38,15 @@ func Check(s string) bool {
|
||||||
for _, v := range nums[0 : len(nums)-2] {
|
for _, v := range nums[0 : len(nums)-2] {
|
||||||
d1 = d1 + (v * mul)
|
d1 = d1 + (v * mul)
|
||||||
mul--
|
mul--
|
||||||
if mul == 2 {
|
if mul == 1 {
|
||||||
mul = 9
|
mul = 9
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mod1 := 11 - ((d1) % 11)
|
mod1 := ((d1) % 11)
|
||||||
if mod1 > 10 {
|
if mod1 < 2 {
|
||||||
mod1 = 0
|
mod1 = 0
|
||||||
|
} else {
|
||||||
|
mod1 = 11 - mod1
|
||||||
}
|
}
|
||||||
|
|
||||||
d2 := 0
|
d2 := 0
|
||||||
|
@ -52,14 +54,16 @@ func Check(s string) bool {
|
||||||
for _, v := range nums[0 : len(nums)-2] {
|
for _, v := range nums[0 : len(nums)-2] {
|
||||||
d2 = d2 + (v * mul)
|
d2 = d2 + (v * mul)
|
||||||
mul--
|
mul--
|
||||||
if mul == 2 {
|
if mul == 1 {
|
||||||
mul = 9
|
mul = 9
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
d2 = d2 + (mod1 * mul)
|
d2 = d2 + (mod1 * mul)
|
||||||
mod2 := 11 - ((d2) % 11)
|
mod2 := (d2) % 11
|
||||||
if mod2 > 10 {
|
if mod2 < 2 {
|
||||||
mod2 = 0
|
mod2 = 0
|
||||||
|
} else {
|
||||||
|
mod2 = 11 - mod2
|
||||||
}
|
}
|
||||||
return mod1 == nums[len(nums)-2] && mod2 == nums[len(nums)-1]
|
return mod1 == nums[len(nums)-2] && mod2 == nums[len(nums)-1]
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,11 @@ func TestFormat(t *testing.T) {
|
||||||
func TestCheck(t *testing.T) {
|
func TestCheck(t *testing.T) {
|
||||||
for _, v := range []string{
|
for _, v := range []string{
|
||||||
"60.119.200/0001-90",
|
"60.119.200/0001-90",
|
||||||
|
"77.791.482/0001-70",
|
||||||
|
"78.803.323/0001-00",
|
||||||
|
"92.632.766/0001-07",
|
||||||
|
"42.756.293/0001-81",
|
||||||
|
"59.663.919/0001-08",
|
||||||
} {
|
} {
|
||||||
ret := Check(v)
|
ret := Check(v)
|
||||||
log.Printf("%s=>%v", v, ret)
|
log.Printf("%s=>%v", v, ret)
|
||||||
|
|
Loading…
Reference in New Issue