Verifica e Confronto Codice Fiscale in GO
Package: github.com/squeeze69/codicefiscale
Download del package: go get github.com/squeeze69/codicefiscale Nota Bene: I codici fiscali temporanei sono usano lo stesso criterio di controllo deile partite IVA, quindi il package fratello di questo può essere usato per la validazione.
Simile ma per la partita IVA
Porting basato sulle informazioni pubblicate da Umberto Salsi su Icosaedro
Cercate la generazione del Codice Fiscale?
package main
import (
"github.com/squeeze69/codicefiscale"
"fmt"
)
func main() {
ok, err := codicefiscale.CodiceFiscale("ABCDEF12B23P432P")
if err != nil {
fmt.Println("Codice Fiscale non valido:",err)
} else {
fmt.Println("Codice Fiscale Valido")
}
}
NOTA: il confronto da esito positivo anche in caso di omocodie (uno è la variante dell'altro)
//Confronto codici fiscali - invertendo le modifiche in caso di omocodie
//prima fa una verifica di bontà in base al codice di controllo
//entrambi i codici possono essere modificati per omocodie
package main
import (
"github.com/squeeze69/codicefiscale"
"fmt"
)
func main() {
ok, err := codicefiscale.ConfrontaCodicifiscaliOmocodici("ABCDEF12B23P43NE", "ABCDEF12B23P432P")
if err != nil {
fmt.Println("Codici Fiscali diversi o non validi:",err)
} else {
fmt.Println("Codice Fiscali uguali (tenendo conto di eventuali omocodie)")
}
}
//Confronto codici fiscali
//prima fa una verifica di bontà in base al codice di controllo
package main
import (
"github.com/squeeze69/codicefiscale"
"fmt"
)
func main() {
ok, err := codicefiscale.ConfrontaCodicifiscali("ABCDEF12B23P43NE", "ABCDEF12B23P432P")
if err != nil {
fmt.Println("Codici Fiscali diversi o non validi:",err)
} else {
fmt.Println("Codice Fiscali uguali")
}
}
//Generazione codice di controllo - in ingresso deve avere ALMENO 15 caratteri
//funziona - ovviamente - anche con codici modificati a causa di omocodie
package main
import (
"github.com/squeeze69/codicefiscale"
"fmt"
)
func main() {
if s, err := Codicedicontrollo("ABCDEF12B23P432"); err != nil {
fmt.Println("Errore", err)
} else {
fmt.Println("Il codice di controllo è:",s)
}
}