Just nu i M3-nätverket
Jump to content

personnummerkontroll


yaz

Recommended Posts

Jag skulle behöva ett aspskript som kontrollerar personnumrets kontrollsiffra och om det är fel ska sidan laddas om och användaren meddelas om felet genom en liten (röd) text som lägger sig över fältet.

 

Eftersom mina kunskaper i asp är väldigt begränsade har jag lite svårt att komma hur detta ska lösas smidigt.

 

Hoppas på er hjälp!! =)

 

//yaz

 

ps. Eventuellt skulle jag även vilja ha några länkar till sajter man kan besöka som har liknande formulärkontroller. Som till exempel kontroll av (antal) siffror/bokstäver och krav att vissa fält måste ha ett värde.

 

____________________________________________

"Yes! That's right, you got a point there!"

 

[inlägget ändrat 2002-04-19 11:30:13 av yaz]

Link to comment
Share on other sites

Är det inte lättare att göra det i Javascript? Så slipper man ladda om sidan om det är fel...

nåt sånt här:

<html>
<head>
<title>
Check av personnummer
</title>
<script language="JavaScript">

function CheckPersNr(persnr){
var summa = 0;
for(i = 0; i < 10; i++){
	var x = parseInt(persnr.substr(i,1));
	if(i % 2 == 0){
		x = 2 * x;
	}
	summa += (parseInt(x / 10)) + (x % 10);
}
if(summa % 10 == 0){
	return true;
}else{
	return false;
}
}

function replaceChars(str, srch, rplc) {
temp = "" + str; // temporary holder

while (temp.indexOf(srch) > -1) {
	pos= temp.indexOf(srch);
	temp = "" + (temp.substring(0, pos) + rplc + temp.substring((pos + srch.length), temp.length));
}
return temp;
}

function isInteger(val) {
for (var i=0; i < val.length; i++) {
	if (!isDigit(val.charAt(i))) { return false; }
}
return true;
}

function isDigit(num) {
var string="1234567890";
if (string.indexOf(num) != -1) {
	return true;
}
return false;
}



function submitMe(){

var persnr = document.all.fldPersNr.value;

persnr = replaceChars(persnr, '-', '');
if(isInteger(persnr)){
	if(CheckPersNr(persnr)){
		alert('det var giltigt personnummer');
		document.location.replace('http://www.idg.se/')
	}else{
		document.all.errorDiv.innerText = 'Ej ett giltigt personnummer.';
	}

}else{
	document.all.errorDiv.innerText = 'Endast Siffror i personnumret tack.';

}

}

</script>
</head>
<body>
<form name="myForm" id="myForm">
	Personnummer:
	<input type="text" maxlength="10" id="fldPersNr" name"fldPersNr"/>
	<br/>
	<input type="button" value="OK" onclick="javascript:submitMe();"/>
</form>
<div id="errorDiv" style="color:red;"></div>
</body>
</html>

 

Det kan hända att det finns IE-specifika grejer i koden men funktionen är ju det viktiga...

 

//Ted

 

[inlägget ändrat 2002-04-19 12:06:15 av Telleluy]

Link to comment
Share on other sites

tack så mycket Telleluy!

 

Det fungerar utmärkt. Eftersom jag har flera kontroller som sker vid submit, hoppas jag att det ska gå att kombinera denna kontroll med dom. Men det ska ju inte vara några problem.

 

alerten kan man väl ta bort...så det ska inte hända något när man skrivit rätt personnummer, bara skickas vidare.

 

tack tack...nu ska jag fixa in den på sajten...*startar dreamweaver*

 

//yaz

____________________________________________

"Yes! That's right, you got a point there!"

 

Link to comment
Share on other sites

jag har problem med att kombinera denna kontroll med ett till kontrollskript som jag använder.

 

Jag vill att när man klickar på submitknappen så ska båda kontrollerna ske och om båda är ok, så ska användaren gå vidare till nästa sida (som är en aspsida).

 

Här är en länk till sajten jag jobbar på...http://www27.brinkster.com/msdos/order.htm

 

tackar på förhand!

 

//yaz

____________________________________________

"Yes! That's right, you got a point there!"

 

[inlägget ändrat 2002-04-20 16:14:09 av yaz]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...