![]() |
|
|
|
#1 |
|
Medlem
Registrerad: 2000-04-30
Ort: Stockholm
Inlägg: 5 524
Lösningar: 1691 |
Metod för att kontrollera personnummer
Denna metod kontrollerar ett svenskt personnummer och returnerar true (1) om personnummret stämmer och false (0) om det inte stämmer.
Personnummret skall anges utan bindestreck. Demonstration finns här. Kod:
<?
function checkPnr($pnr)
{
if (strlen($pnr) != 10) die("Felaktigt angivet personnummer! Ange personnummret utan bindestreck, totalt 10 siffror.");
$n = 2;
// Räkna fram kontrollsumman
for ($i=0; $i<9; $i++)
{
$tmp = $pnr[$i] * $n;
($tmp > 9) ? $sum += 1 + ($tmp % 10) : $sum += $tmp;
($n == 2) ? $n = 1 : $n = 2;
}
// Lägg till sista siffran (kontrollsiffran), resultatet skall bli jämt tiotal, returnera true/false
return !( ($sum + $pnr[9]) % 10);
}
if (checkPnr("7410291234"))
{
echo "Korrekt personnummer!";
}
else
{
echo "Felaktigt personnummer!";
}
?>
"Med ett schysst järnrör slår man hela världen med häpnad" - Socker-Conny |
|
|
|
| |
| Trådverktyg | |
| Visningsalternativ | |
|
|