Moduluskontroll
Fødselsnummer
Forbehold: Det er kun kontrollsifferne (2 siste siffer) som sjekkes i forhold til resten av fødselsnummeret. Det foretas ingen sjekk av om datoen er en gyldig dato, eller om individnummeret (7.-9. siffer) er mulig for den angitte datoen.
Les mer om fødselsnummer på Skatteetaten sine sider.
Generer kontrollsiffer til fødselsnummer
Kontonummer
Forbehold: Det er kun kontrollsifferet (siste siffer) som sjekkes i forhold til resten av kontonummeret. Det foretas ingen sjekk av om bankregisternummeret (4 første siffer) er gyldig.
Beregning av kontrollsiffer
Beregning av kontrollsiffer MOD10
Modulus10 er en annen algoritme enn Modulus11, og brukes fx. til validering av KID-nr på bankgiroer. Les mer på Wikipedia. Jeg har laget VBA-kode for dette, og den er implementer i et Excel-dokument også.
Eksempel med fødselsnummer
I eksemplet her bruker jeg som et eksempel fødselsnummeret 26059765131.
Beregning av 1. kontrollsiffer
Man tar utgangspunkt i de 9 første sifferne (her 260597651). Først multipliserer man siffer for siffer med følgende tallrekke: 3, 7, 6, 1, 8, 9, 4, 5 og 2. Deretter summerer man resultatene. Så finner første kontrollsiffer ved å trekke "resten" man får når man deler dette på 11 (herav navnet modulus11-kontroll), og trekker denne "resten" fra 11. Hvis kontrollsifferet blir 11, så settes det til 0, og hvis det blir 10, så er det ikke gyldig (da må det genereres et nytt individnummer).
Eksempel: Fødselnummeret er 26059765131. De første 9 sifferne, som danner utgangspunktet for å beregne kontrollsifferet, er 260597651. Nedenfor vises regnestykket:
Siffer nr. | Siffer | Multiplikator | Multiplum |
---|---|---|---|
1 | 2 | 3 | 6 |
2 | 6 | 7 | 42 |
3 | 0 | 6 | 0 |
4 | 5 | 1 | 5 |
5 | 9 | 8 | 72 |
6 | 7 | 9 | 63 |
7 | 6 | 4 | 24 |
8 | 5 | 5 | 25 |
9 | 1 | 2 | 2 |
Sum: | 239 |
Denne summen deler man på 11, og får da en "rest" på 8 (11x21=231, 239-231=8). Dette trekker vi fra 11, og får da 3 (11-8=3).
Første kontrollsiffer skal være 3, og det stemmer i vårt tilfelle.
Beregning av 2. kontrollsiffer
Framgangsmåten er tilsvarende som for 1. kontrollsiffer, men man tar utgangspunkt i de 10 første sifferne (her 2605976513), og tallrekken er annerledes: 5, 4, 3, 2, 7, 6, 5, 4, 3 og 2.
Dette er også måten å finne kontrollsifferet til kontonummer på, da de har kun et kontrollsiffer.
Eksempel: Fødselsnummeret (eller like gjerne kontonummeret) er 26059765131. De første 10 sifferne, som danner utgangspunktet for å beregne kontrollsifferet, er 2605976513. Nedenfor vises regnestykket:
Siffer nr. | Siffer | Multiplikator | Multiplum |
---|---|---|---|
1 | 2 | 5 | 10 |
2 | 6 | 4 | 24 |
3 | 0 | 3 | 0 |
4 | 5 | 2 | 10 |
5 | 9 | 7 | 63 |
6 | 7 | 6 | 42 |
7 | 6 | 5 | 30 |
8 | 5 | 4 | 20 |
9 | 1 | 3 | 3 |
10 | 3 | 2 | 6 |
Sum: | 208 |
Denne summen deler man på 11, og får da en "rest" på 10 (11x18=198, 208-198=10). Dette trekker vi fra 11, og får da 1 (11-10=1).
Andre kontrollsiffer skal være 1, og det stemmer i vårt tilfelle.
Copyright © Alf Kåre Lefdal.