Jag vill ha en textbox som innehåller ett "-" på position 7, går det?? Är det någon som har ett bra script för att kontrollera personnummer? <SCRIPT LANGUAGE="JavaScript">Personnummer?
Mycket tacksam för hjälp?Sv: Personnummer?
Du kan ju göra på det tjorviga sättet...
Placera ut 6 stycken texboxar eller varför inte bara 3..
och sätter borderstyle på inget
sen är det bara och lägga runt en fyrkantig shape
[xx][xx][xx][-][xx][xx]
det funkade bra när jag gjorde min Alarm klocka och Ip Box
[24][:][00] osv... hoppas du fattar hur jag menar finns säkert smidigare sätt..Sv: Personnummer?
<!--
function personnr(pnr){
var ftal;
var sista;
re1=/^(\d{2})(\d{6})-(\d{4})$/;
re2=/^(\d{2})(\d{6})(\d{4})$/;
if(re1.test(pnr)){
century=pnr.replace(re1 , "$1");
ftal=pnr.replace(re1 , "$2");
sista=pnr.replace(re1 , "$3");
}
else if(re2.test(pnr)){
century=pnr.replace(re2 , "$1");
ftal=pnr.replace(re2 , "$2");
sista=pnr.replace(re2 , "$3");
}
else{
return false;
}
//Kontrollera om kontrollsiffran stämmer
if (pernr(ftal,sista)){
return century+ftal+"-"+sista;
} else{return false;}
}
function pernr(ftal, sista){
var sum=0;
var tal;
//Kontrollsiffran sätts till den
//sista siffran i "sista"
var kontrollSiffra=sista%10;
var rest;
var i;
rest=100000;
//loopar igenom födelsetalet
for(i=1;i<=6;i++){
//tal får värdet av den i:te siffran
//i födelsetalet
tal=(ftal/rest)%10;
temp_tal=parseInt(tal);
tal=temp_tal;
//till sum läggs siffersumman av tal
//multiplicerat med 1 eller 2,
//beroende på position
sum+=siffersumma(tal*(1+i%2));
rest/=10;
}
rest=1000;
//loopar igenom tre första siffrorna
//bland de fyra sista siffrorna
for(i=1;i<4;i++){
tal=(sista/rest)%10;
temp_tal=parseInt(tal);
tal=temp_tal;
sum+=siffersumma(tal*(1+i%2));
rest/=10;
temp_sum=parseInt(sum);
sum=temp_sum;
}
//sum sätts till differensen mellan
//sum och närmast större 10-tal
if (sum%10){
temp_sum=parseInt(sum/10+1);
sum=temp_sum*10-sum;
}
else{
sum=0;
}
//om sum stämmer överens med
//kontrollsiffra returneras 1,
//annars 0
return (sum==kontrollSiffra);
}
function siffersumma(tal){
var summa=0;
while(tal>=1){
temp_tal=parseInt(tal);
tal=temp_tal;
summa=summa+tal%10;
temp_summa=parseInt(summa);
summa=temp_summa;
tal=tal/10;
}
return summa;
}
// Kolla personnummer
pnr = '19xxxxxx-xxxx'
var retPnr = personnr(pnr);
alert(retPnr);
//-->
</SCRIPT>