Personalausweis prüfen
//Pruefnummer ueberpruefen
function check_number($number=0){
$p = 7;
for($i=0; $i < strlen(strval($number)); $i++)
{
$return += substr($number[$i]*$p, -1);
if($p==1)
$p=7;
else if($p==3)
$p=1;
else if($p==7)
$p=3;
}
return $return;
}
//Ist der Perso gueltig?
function perso_check($id)
{
$array = explode(" ", $id);
//Erste Checknummer: Zählnummer & Erstwohnsitz
if(! (substr(check_number(substr($array[0], 0, 9)), -1)==substr($array[0], 9, 1)))
return false;
//Zweite Checknummer: Geburtstag
if(! (substr(check_number(substr($array[1], 0, 6)), -1)==substr($array[1], 6, 1)))
return false;
//Dritte Checknummer: Gueltig bis
if(! (substr(check_number(substr($array[2], 0, 6)), -1)==substr($array[2], 6, 1)))
return false;
//Ausweis abgelaufen? Wenn gewuenscht deaktivieren?
if(! (time() < mktime(0,0,0, substr($array[2], 2, 2) , substr($array[2], 4, 2) , substr($array[2], 0, 2))))
return false;
//Vierte Checknummer: Die gesamte Perso-ID
if(! (substr(check_number(substr($array[0], 0, 10).substr($array[1], 0, 7).substr($array[2], 0, 7)), -1)==$array[3]))
return false;
return true;
}
//Informationen aus dem Perso beziehen
function perso_info($id)
{
$array = explode(" ", $id);
//$return: Ein Objekt mit den Daten aus der Ausweisnummer
$return->geb->tag= $array[1]{4} . $array[1]{5}; //Geburtstag
$return->geb->monat = $array[1]{2} . $array[1]{3}; //Geburtsmonat
$return->geb->jahr = "19" . $array[1]{0} . $array[1]{1}; //Geburtsjahr
$alter = date("Y") - $return->geb->jahr;
//Hatte er schon Geburtstag?
if( (date("n") < $return->geb->monat) OR (date("n") == $return->geb->monat AND date("j") < $return->geb->tag) )
$alter--;
$return->alter = $alter;
if($alter >= 18)
$return->volljaehrig = true;
else
$return->volljaehrig = false;
$return->ablauf->tag = $array[2]{4} . $array[2]{5}; //Auswei� Ablauf Tag
$return->ablauf->monat = $array[2]{2} . $array[2]{3}; //Auswei� Ablauf Monat
$return->ablauf->jahr = $array[2]{0} . $array[2]{1}; //Auswei� Ablauf Jahr
$return->herkunft = $array[0]{10};
//Ein Deutscher?
if(strtolower($return->herkunft) == "d")
$return->deutscher = true;
else
$return->deutscher = false;
//Erstwohnsitz als Nummer
$return->erstwohnsitz = $array[0]{0}.$array[0]{1}.$array[0]{2}.$array[0]{3};
return $return;
}
?>
Geben Sie hier die Personalausweisnummer ein:
Geben Sie hier die Personalausweisnummer ein: