15. august 2005 - 13:49
Der er
18 kommentarer og 1 løsning
Matematisk udregning af Cpr nummer.
Hej Eksperter. Jeg kan huske fra matematik timerne i skolen, at der findes en matematisk formel for udregning af cpr nummer, alt efter om hvorvidt du er mand eller kvinde. nogle der kan huske det??
Annonceindlæg fra DE-CIX
15. august 2005 - 13:51
#1
function gyldig($cpr) { if ((4*$cpr[0] + 3*$cpr[1] + 2*$cpr[2] + 7*$cpr[3] + 6*$cpr[4] + 5*$cpr[5] + 4*$cpr[6] + 3*$cpr[7] + 2*$cpr[8] + 1*$cpr[9]) % 11 == 0) return 1; else return 0; } $gyldig = gyldig(\"1205702323\"); // returnerer 0 = ikke gyldig //>Rune
15. august 2005 - 13:51
#2
Sorry: function gyldig($cpr) { if ((4*$cpr[0] + 3*$cpr[1] + 2*$cpr[2] + 7*$cpr[3] + 6*$cpr[4] + 5*$cpr[5] + 4*$cpr[6] + 3*$cpr[7] + 2*$cpr[8] + 1*$cpr[9]) % 11 == 0) return 1; else return 0; } $gyldig = gyldig("1205702323"); // returnerer 0 = ikke gyldig //>Rune
15. august 2005 - 13:55
#3
jamen hvad regner den efter?? om man er mand eller kvinde?
15. august 2005 - 13:58
#4
algoritmen er den samme for m og k sidste ciffer angiver køn
15. august 2005 - 13:58
#5
Mand eller kvinde afgøres kun af, om det sidste ciffer er ulige eller lige !-)
15. august 2005 - 13:59
#6
hmmm kører lige en grundig test på den, har jo en bruger db jeg kan teste på. ;)
15. august 2005 - 14:02
#7
hmm det kører jo som en drøm. ;)
15. august 2005 - 17:03
#8
Så skal man nok gøre opmærksom på at man er ved at afskaffe det med at man kan lave kontrol på cpr. nr. da man mangler ;)
15. august 2005 - 17:10
#9
Njah, man har lavet forberedelserne til det, men håber stadig at det kan undgås, sidst jeg hørte nyt om det (vist i slutningen af sidste år !-), var der ved at være mangel på specielle datoer i 1950 (1/1) og nogle lignende i 70'erne, men stadig nogle stykker tilbage !o]
PS. Ken skal du ikke til Solrød Lørdag d. 27 August (
http://hardwarekast.dannyboyd.dk/ !-)
15. august 2005 - 17:29
#10
ps -> nej desværre :( ja der er lidt tilbage men i nogle af dem er der kun mulighed for 2 mere osv. ;)
15. august 2005 - 17:40
#11
så vidt jeg ved er det er "indvandrer problem" folk der ikke ved hvornår de er født får et gæt på år og så bliver det 1/1 det år men man kunne jo lige så godt vælge enhver anden dato end 1/1 1000 numre per dag bør være nok
15. august 2005 - 17:47
#12
-- men der er ikke 1000, for alle de numre, hvor modulus 11-testen giver 10 på de første 9 cifre er jo ikke til rådighed !-) -- desuden er der den differenting med det først ciffer i løbenummeret, som betyder, at kun op til 70% af de gyldige kan bruges !o]
15. august 2005 - 17:52
#13
det burde stadig være nok 80 år x 365 dage x 700 personer = 20 millioner
15. august 2005 - 17:59
#14
Jepz, og du har helt ret i dine øvrige betragtninger ... -- men nogle får en fødselsdato, f.eks. når de får udstedt passet, ikke når de danske myndigheder skal lave personnummeret !-)
15. august 2005 - 18:01
#15
-- og så går der iøvrigt også en pulje til midlertidige personnumre, men den tages vel ikke fra de steder, hvor man i forvejen har problemet !-)
15. august 2005 - 18:09
#16
wow... og hvad præcist betyder dette for mit bette script??
15. august 2005 - 18:17
#17
vi diskuterer bare om din kode kan bruges i 2 år eller 20 år eller 200 år
15. august 2005 - 18:19
#18
hehe okey, fair nok. ;) Når i når frem til en enighed, så ping mig lige ikke? ;)
15. august 2005 - 18:23
#19
*G* så skal jeg måske lige fortælle at indvandere som ikke ved hvornår de er født får fødselsdato den da de kommer til danmark ;)
Vi tilbyder markedets bedste kurser inden for webudvikling