
Personalausweis Pruefung
Diese Funktionen prüfen eine Personalausweissnummer auf Ihre Gültigkeit.
|
|
<?
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;
elseif($p==3) $p=1;
elseif($p==7) $p=3;
}
return $return;
}
function perso_check($id=0) {
$array = explode(" ", $id);
if(substr(check_number(substr($array[0]
,0,9)),-1) == substr($array[0],9,1)) {
$check["serial"] = true;
}
if(substr(check_number(substr($array[1]
,0,6)), -1) == substr($array[1],6,1)) {
$check["birthday"][0] = true;
}
if(substr(check_number(substr($array[2]
,0,6)), -1) == substr($array[2],6,1)) {
$check["expiration"][0] = true;
}
if(time() < mktime(0,0,0,substr($array[2],2,2),
substr($array[2],4,2),substr($array[2],0,2))) {
$check["expiration"][1] = true;
}
if(substr(check_number(substr($array[0],0,10).
substr($array[1],0,7).substr($array[2],0,7))
,-1) == $array[3]){ $check["all"] = true;
}
if($check["serial"] == true &&
$check["birthday"][0] == true &&
$check["expiration"][0] == true &&
$check["expiration"][1] == true &&
$check["all"] == true) { return true;
} else {
return false;
}
}
//Beispiel
$perso_nr = "123456789D 1234567 1234567 0";
if(perso_check($perso_nr) == true) {
echo "Personalausweissnummer korrekt";
} else {
echo "Personalausweissnummer falsch";
}
?>
|
T: 34979 G: 7 H: 10 T: +4 O: 5
|
|