05. maj 2004 - 11:23Der er
4 kommentarer og 1 løsning
Cpr-nummer validering (mod / 11)
Hej, jeg er ved at lave en side hvor man skal indtaste sit cpr-nummer, og jeg skal have et script til at chekke om det er et rigtigt cpr-nummer. Hvordan regnes det ud?
Og ja, jeg ved godt at det er modulos 11, men igen, hvordan regens det ud? Med andre ord, jeg leder efter en formel. Tak på forhånd :)
Faktisk havde jeg fundet ud af det allerede igår, lige efter jeg oprettede spørgsmålet (altså formlen) så jeg har lavet siden for et stykke tid siden, men jeg acceptgerer alligevel dit udmærkede svar, hvis i vil se min kode kommer den her. Jeg har dog splittet koden op i flere funktioner, og den er lidt nememre at læse, samt bidderne kan genbruges til alt muligt andet: function StringSplit($NumString) { for ($i = 0; $i < strlen($NumString); $i++) { $Arr[$i] = substr($NumString, $i, 1); } return $Arr; }
function Mod11Chk($array) { $Value = 0; foreach($array as $k=>$v) { switch($k) { case 0: $Value += $v*4; break; case 1: $Value += $v*3; break; case 2: $Value += $v*2; break; case 3: $Value += $v*7; break; case 4: $Value += $v*6; break; case 5: $Value += $v*5; break; case 6: $Value += $v*4; break; case 7: $Value += $v*3; break; case 8: $Value += $v*2; break; case 9: $Value += $v*1; break; } } if ($Value % 11) return false; else return true; }
function PersonnrChk($personnr) { $arr = StringSplit($personnr);
if (Mod11Chk($arr) && DateChk($personnr)) return true; else return false; }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.