Die Alterskontrolle ist mehr als fragwürdig, da gültige
Personalausweisnummer leicht berechnet werden können.
Hier ein Beispiel in JavaScript: <script language="javascript">
<!--
function pruefziffer(z){
/* letzte Stelle durch die richtige Prüfziffer ersetzen */
var r=0,t,i;z=(z+"").substring(0,(z+"").length-1);
for (i=0;i<z.length;i++)
{t=(z.charAt(i)*(7-3*(i%3)-(i%3)%2))+"";r+=1*(t.charAt(t.length-1));}
return (z+(r+"").charAt((r+"").length-1));
}
var persid="",gebjahr="",abljahr="",gespz="";
/* gültige Behördenkennzahlen */
var amtsnr=new Array(
0417,1021,1022,1297,1307,1350,1354,1388,1456,1487,1492,1508,1591,1649
,1718,
1749,1808,1855,1865,2005,2007,2019,2040,2082,2166,2245,2262,2270,2315
,2389,
2399,2406,2458,2466,2469,2635,2635,2635,4002,4027,4084,4095,4097,4101
,4106,
4158,4309,4309,4765,4847,5007,5045,5071,5123,5140,5152,5197,5206,5208
,5230,
5284,5289,5340,5367,5369,5432,5442,5447,5502,5520,5585,5607,5610,5663
,5745,
5751,6008,6058,6467,6590,6786,6828,6839,6862,6924,7009,8012,8015,8318
,8351,
8411,8623,8658,8688,8842,8850,8912,8971,9262,9272,9304,9358);
var i,tag,monat;
/* volljährig */
gebjahr = "0"+((new
Date()).getYear()-22-Math.ceil(Math.random()*15))%100;
gebjahr = gebjahr.substring(gebjahr.length-2,gebjahr.length);
tag = "0"+(Math.ceil(Math.random()*26)+1);
tag = tag.substring(tag.length-2,tag.length);
monat = "0"+(Math.ceil(Math.random()*10)+1);
monat = monat.substring(monat.length-2,monat.length);
gebjahr = gebjahr+monat+tag+"0";
/* nicht abgelaufen */
abljahr = "0"+((new
Date()).getYear()+2+Math.ceil(Math.random()*2))%100;
abljahr = abljahr.substring(abljahr.length-2,abljahr.length);
tag = "0"+(Math.ceil(Math.random()*26)+1);
tag = tag.substring(tag.length-2,tag.length);
monat = "0"+(Math.ceil(Math.random()*10)+1);
monat = monat.substring(monat.length-2,monat.length);
abljahr = abljahr+monat+tag+"0";
/* gültige Behördenkennzahlen + zufällige Nummer */
persid=""+amtsnr[Math.ceil(Math.random()*amtsnr.length)];
persid+=Math.ceil(Math.random()*2)+""+Math.ceil(Math.random()*4);
for (i=1;i<=4;i++) {persid+=""+(Math.ceil(Math.random()*8)+1);}
/* richtige Prüfziffern berechnen */
persid = pruefziffer(persid);
gebjahr = pruefziffer(gebjahr);
abljahr = pruefziffer(abljahr);
gespz = pruefziffer(persid+gebjahr+abljahr+"0");
gespz = gespz.charAt(gespz.length-1);
/* Personalausweisnummer mit gültigen Prüfziffern ausgeben */
document.writeln("gültige Ausweisnummer:
"+persid+"D<<"+gebjahr+"<"+abljahr+"<<<<<<<"+gespz);
//-->
</script>
Personalausweisnummer leicht berechnet werden können.
Hier ein Beispiel in JavaScript: <script language="javascript">
<!--
function pruefziffer(z){
/* letzte Stelle durch die richtige Prüfziffer ersetzen */
var r=0,t,i;z=(z+"").substring(0,(z+"").length-1);
for (i=0;i<z.length;i++)
{t=(z.charAt(i)*(7-3*(i%3)-(i%3)%2))+"";r+=1*(t.charAt(t.length-1));}
return (z+(r+"").charAt((r+"").length-1));
}
var persid="",gebjahr="",abljahr="",gespz="";
/* gültige Behördenkennzahlen */
var amtsnr=new Array(
0417,1021,1022,1297,1307,1350,1354,1388,1456,1487,1492,1508,1591,1649
,1718,
1749,1808,1855,1865,2005,2007,2019,2040,2082,2166,2245,2262,2270,2315
,2389,
2399,2406,2458,2466,2469,2635,2635,2635,4002,4027,4084,4095,4097,4101
,4106,
4158,4309,4309,4765,4847,5007,5045,5071,5123,5140,5152,5197,5206,5208
,5230,
5284,5289,5340,5367,5369,5432,5442,5447,5502,5520,5585,5607,5610,5663
,5745,
5751,6008,6058,6467,6590,6786,6828,6839,6862,6924,7009,8012,8015,8318
,8351,
8411,8623,8658,8688,8842,8850,8912,8971,9262,9272,9304,9358);
var i,tag,monat;
/* volljährig */
gebjahr = "0"+((new
Date()).getYear()-22-Math.ceil(Math.random()*15))%100;
gebjahr = gebjahr.substring(gebjahr.length-2,gebjahr.length);
tag = "0"+(Math.ceil(Math.random()*26)+1);
tag = tag.substring(tag.length-2,tag.length);
monat = "0"+(Math.ceil(Math.random()*10)+1);
monat = monat.substring(monat.length-2,monat.length);
gebjahr = gebjahr+monat+tag+"0";
/* nicht abgelaufen */
abljahr = "0"+((new
Date()).getYear()+2+Math.ceil(Math.random()*2))%100;
abljahr = abljahr.substring(abljahr.length-2,abljahr.length);
tag = "0"+(Math.ceil(Math.random()*26)+1);
tag = tag.substring(tag.length-2,tag.length);
monat = "0"+(Math.ceil(Math.random()*10)+1);
monat = monat.substring(monat.length-2,monat.length);
abljahr = abljahr+monat+tag+"0";
/* gültige Behördenkennzahlen + zufällige Nummer */
persid=""+amtsnr[Math.ceil(Math.random()*amtsnr.length)];
persid+=Math.ceil(Math.random()*2)+""+Math.ceil(Math.random()*4);
for (i=1;i<=4;i++) {persid+=""+(Math.ceil(Math.random()*8)+1);}
/* richtige Prüfziffern berechnen */
persid = pruefziffer(persid);
gebjahr = pruefziffer(gebjahr);
abljahr = pruefziffer(abljahr);
gespz = pruefziffer(persid+gebjahr+abljahr+"0");
gespz = gespz.charAt(gespz.length-1);
/* Personalausweisnummer mit gültigen Prüfziffern ausgeben */
document.writeln("gültige Ausweisnummer:
"+persid+"D<<"+gebjahr+"<"+abljahr+"<<<<<<<"+gespz);
//-->
</script>