Helper functions to work with Ukrainian registration number of the taxpayer's account card (RNOKPP).
Допоміжні функції для роботи з реєстраційним номером облікової картки платника податків (РНОКПП).
You can test it with my RNOKPP Telegram Bot.
- GO >= 1.20
- Get details about RNOKPP
- Get gender
- Check gender
- Check validity
- Generate RNOKPP by date and gender
- Generate random RNOKPP
package main
import (
"fmt"
"time"
"github.com/fre5h/rnokpp"
)
func main() {
// Get details about RNOKPP
details, _ := rnokpp.GetDetails("3652504575")
fmt.Println("details:", details) // valid, male, 01.01.2000
// Get gender from RNOKPP
gender1, _ := rnokpp.GetGender("3652504575")
fmt.Println("gender1:", gender1) // male
gender2, _ := rnokpp.GetGender("3068208400")
fmt.Println("gender2:", gender2) // female
// Check gender
isMale, _ := rnokpp.IsMale("3652504575")
fmt.Println("is male:", isMale) // true
isFemale, _ := rnokpp.IsFemale("3652504575")
fmt.Println("is female:", isFemale) // false
// Check valid RNOKPP
validRnokpp := rnokpp.IsValid("3652504575")
invalidRnokpp := rnokpp.IsValid("1234567890")
fmt.Println("rnokpp valid:", validRnokpp, invalidRnokpp) // true, false
// Generate RNOKPP by date and gender
birthday, _ := time.Parse("02.01.2006", "01.01.2000")
generatedRnokppMale, _ := rnokpp.GenerateRnokpp(birthday, rnokpp.Male)
fmt.Println("valid RNOKPP for male with birthday on 01.01.2000:", generatedRnokppMale) // valid RNOKPP for male with birthday on 01.01.2000, e.g. 3652322032
generatedRnokppFemale, _ := rnokpp.GenerateRnokpp(birthday, rnokpp.Female)
fmt.Println("valid RNOKPP for female with birthday on 01.01.2000:", generatedRnokppFemale) // valid RNOKPP for female with birthday on 01.01.2000, e.g. 3652347000
// Generate a one random RNOKPP
generatedRandomRnokpp, _ := rnokpp.GenerateRandomRnokpp()
fmt.Println("random rnokpp:", generatedRandomRnokpp) // e.g. random rnokpp: 3300507061
// Or generate some number of random RNOKPPs
generatedRandomRnokpps, _ := rnokpp.GenerateRandomRnokppN(3)
for i, generatedRandomRnokpp := range generatedRandomRnokpps {
fmt.Printf("random rnokpp #%d: %s\n", i, generatedRandomRnokpp)
}
}
$ go get "github.com/fre5h/rnokpp"@v1.1.2
go: downloading github.com/fre5h/rnokpp v1.1.2
go: added github.com/fre5h/rnokpp v1.1.2
$ go run main.go
details: valid, male, 01.01.2000
gender1: male
gender2: female
is male: true
is female: false
rnokpp valid: true false
valid RNOKPP for male with birthday on 01.01.2000: 3652322032
valid RNOKPP for female with birthday on 01.01.2000: 3652347000
random rnokpp: 3300507061
random rnokpp #0: 3946436021
random rnokpp #1: 2642527503
random rnokpp #2: 2620337525
See CONTRIBUTING file.