webForumDet fria alternativet

Metod för att kontrollera personnummer

ASP

1 svar · 1 422 visningar · startad av skarbratt

Medlem sedan juli 2000325 inlägg
Frågan#1

Hittade en liknande funktion under PHP och ny finns den även här under ASP.

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#006666">
<%
pr = Request("pr")
IF pr = "" THEN
Response.Write("<FORM METHOD=""get""><INPUT TYPE=""text"" SIZE=""10"" NAME=""pr""><BR><INPUT TYPE=""submit"" VALUE=""Kontrollera""></FORM>")
ELSE
IF Len(pr) <> 10 THEN
Response.Write("Felaktigt angivet personnummer! Ange personnummret utan bindestreck, totalt 10 siffror.")
Response.Write("<P><FORM METHOD=""get""><INPUT TYPE=""text"" SIZE=""10"" NAME=""pr""><BR><INPUT TYPE=""submit"" VALUE=""Kontrollera""></FORM>")
ELSE
pr2 = pr

		For i = 0 to 8
	
			k		= Left(pr2,1)
			pr2 = Right(pr2,len(pr2)-1)
			
			k = k \* ((i + 1) Mod 2 + 1 )
			IF len(k) = 2 THEN
				totalt = totalt + Int(Left(k,1)) + Int(Right(k,1))
			ELSE
				totalt = totalt + k
			END IF
			
		NEXT
		
		sista =  10 - Int(Right(totalt,1))
					
		IF Cint(sista) = Cint(Right(pr,1)) THEN
			Response.Write("Korrekt personnummer!")
		ELSE
			Response.Write("Felaktigt personnummer!")
		END IF
	END IF
END IF

%>

------------------
fencing for you?
http://www.fencing4u.nu/

Medlem sedan sep. 2001163 inlägg
#2

Ändra
======
NEXT

sista = 10 - Int(Right(totalt,1))

IF Cint(sista) = Cint(Right(pr,1)) THEN
======
till
======
NEXT

sista = 10 - Int(Right(totalt,1))
If sista = "10" Then
sista = "0"
End If
IF Cint(sista) = Cint(Right(pr,1)) THEN
========
så funkar även personnummer som slutar på 0

265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)