Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Personnummerkontroll i VBScript

Postades av 2001-09-03 16:15:00 - Torbjörn Karlsson, i forum asp - allmänt, Tråden har 11 Kommentarer och lästs av 3417 personer

Jag såg en lösning för personnummerkontroll i JAVA-Script forumet, och undrar nu om någon gjort något liknande i VBScript/ASP !?

Att helt enkelt kolla om ett personnummer verkligen är ett personnummer eller organisationsnummer.

Alla tips är välkomna.


mvh
Torbjörn


Svara

Sv: Personnummerkontroll i VBScript

Postades av 2001-09-03 18:26:00 - Sven Åke Persson

Hej
Kolla om du kan bygga om mitt exempel.
http://www.pellesoft.nu/login/upload/t_view4.asp?tid=59

mvh
Sven


Svara

Sv: Personnummerkontroll i VBScript

Postades av 2001-09-03 18:41:00 - Torbjörn Karlsson

Aaah .. :)

Hej Sven!

OK!
Med risk för att låta "stupido", men vad utför denna kontrollsiffra :) ?

Jag var nog lite luddig i min beskrivning av den önskade funktionen.

Jag tänkte mig en enklare funktion som bara talar om att personnumret verkligen är ett personnummer alternativt organisationsnummer.

Är det inmatade numret felaktigt så skall en "aja-baja" text informera om att nu är det nog lite fel nånstans ....

Kanske är detta en avancerad pryl att snickra ihop??

mvh
Torbjörn


Svara

Sv: Personnummerkontroll i VBScript

Postades av 2001-09-03 18:46:00 - Sven Åke Persson

Hej
Lite fantasi, Kolla på ditt eget personnummer ,de 9
första siffrorna då skall du få ut den 10 siffran.
Stämmer detta inte mot verkligheten är det ett
felaktigt personnummer.

Sven


Svara

Sv: Personnummerkontroll i VBScript

Postades av 2001-09-03 18:52:00 - Torbjörn Karlsson

Nepp!

Fick ut siffran 10 där det skulle vara 0 ;o)

OK jag fattar principen nu!

mvh
Torbjörn


Svara

Sv: Personnummerkontroll i VBScript

Postades av 2001-09-03 18:57:00 - Sven Åke Persson

Hej
"Tänkte inte på de"
Näst sist i Funktionen
If Knum = 10 Then Knum = 0

mvh
Sven


Svara

Sv: Personnummerkontroll i VBScript

Postades av 2001-09-03 19:28:00 - Torbjörn Karlsson

OK!

Skall försöka översätta till VBScript/ASP.

Jag återkommer nog snart när jag kör fast =o.

Tack för hjälpen
Torbjörn


Svara

Sv: Personnummerkontroll i VBScript

Postades av 2001-09-03 21:28:00 - Thorbjörn Wahlberg

Formeln för att kontrollera om ett personnummer stämmer eller ej är en ganska enkel formel, och kan läggas in som en programfunktion i ex Visual Basic.

Personnr = 560321-830 vad är sista siffran ?

5x2 = 10
6x1 = 6
0x2 = 0
3x1 = 3
2x2 = 4
1x1 = 1
8x2 = 16
3x1 = 3
0x2 = 0

Skriv svaren på en lång rad.
10603411630

summera siffrona
1+0+6+0+3+4+1+1+6+3+0 = 25

Den sista siffran får du fram genom att fråga dig, hur mycket måste jag lägga till för att svaret skall sluta på en nolla (0)
Svar = 5
Den sista siffran skall alltså vara en femma(5) och personnummret blir då följande:
560321-8305

Hoppas detta hjälper dig
Mvh Thorbjörn (här också)


Svara

Sv: Personnummerkontroll i VBScript

Postades av 2001-09-07 19:30:00 - Christian Persson

Jag skrev ett script i javascript forumet och har översatt det scriptet till vbscript, du kanske kan få något tips om du tittar på det.

<script type="text/vbscript">
function checkPnr(pnr)
dim err ' korrekt pnr
err = 0
' personnummer 10-11 siffror med eller utan "-"
dim l 'antal siffror
l = len(pnr)
' koll av antal siffror
if ( l = 11 and instr(pnr,"-") = 0 ) or l < 10 then
err = 1
end if
' plockar ut delar av pnr
dim yy ' år
yy = left(pnr,2)
dim mm ' månad
mm = mid(pnr,3,2)
dim dd ' dag
dd = mid(pnr,5,2)
dim pp ' sex första
pp = left(pnr,6)
dim s ' 4 sista
s = right(pnr,4)
' koll att bara siffror används
if isnumeric(pp) <> true or isnumeric(s) <> true then
err = 2
end if
' koll av månad
if mm < 1 or mm > 12 then
err = 3
end if
' koll av dag
if dd < 1 or dd > 31 then
err = 4
end if
' koll för 30 dagar
if mm = 4 or mm = 6 or mm = 9 or mm = 11 then
if dd = 31 then
err = 5
end if
end if
' skottår
if mm = 2 then
if dd > 29 then
err = 6
end if
if dd = 29 and ( yy mod 4 <> 0 ) then
err = 7
end if
end if
' koll av kontrollsiffra
pnr = pp & s ' alla 10 siffrorna i rad
dim y,x ' för beräkning
x = 0
for i = 1 to 9
if i mod 2 <> 0 then
y = mid(pnr,i,1) * 2
if y > 9 then
y = y - 9
end if
x = x + y
else
x = x + cint(mid(pnr,i,1))
end if
next
while x > 9
x = x - 10
wend
if x <> 0 then
x = 10 - x
end if
' koll om siffran stämmer
if cint(right(s,1)) <> x then
err = 8
end if
' utskrift av felmeddelande
if err <> 0 then
' här kan man tänka sig olika felmeddelande
msgbox("Personnumret är felaktigt")
end if
end function

' för test
checkpnr("440229-3023")
</script>

/Christian


Svara

Sv: Personnummerkontroll i VBScript

Postades av 2001-09-07 20:41:00 - Torbjörn Karlsson

Helt lysande :)

Med hjälp av detta blev det en ASP-lösning..

håll till godo !

---------------------------------------------------------------
Formulär:

<html>
<head>
<title>Personnummerkoll</title>
</head>
<body>

<form action="pnr_check.asp" method="post">

<input type="text" name="pnr"><br>
<input type="submit" value="Kolla">
</form>

</body>
</html>


-- pnr_check.asp -------------------------------------------

<%
PnrKoll = Request.Form("pnr")
Checkpnr(PnrKoll)

Function CheckPnr(pnr)
Dim Err ' korrekt pnr
Err = 0
' personnummer 10-11 siffror med eller utan "-"
Dim l 'antal siffror
l = len(pnr)
' koll av antal siffror
If ( l = 11 AND InStr(pnr,"-") = 0 ) OR l < 10 Then
Err = 1
End If
' plockar ut delar av pnr
Dim yy ' år
yy = Left(pnr,2)
Dim mm ' månad
mm = mid(pnr,3,2)
Dim dd ' dag
dd = mid(pnr,5,2)
Dim pp ' sex första
pp = left(pnr,6)
Dim s ' 4 sista
s = Right(pnr,4)
' koll att bara siffror används
If isnumeric(pp) <> True OR isnumeric(s) <> True Then
Err = 2
End If
' koll av månad
If mm < 1 OR mm > 12 Then
Err = 3
End If
' koll av dag
If dd < 1 OR dd > 31 Then
Err = 4
End If
' koll för 30 dagar
If mm = 4 OR mm = 6 OR mm = 9 OR mm = 11 Then
If dd = 31 Then
Err = 5
End If
End If
' skottår

If mm = 2 Then
If dd > 29 Then
Err = 6
End If
If dd = 29 AND ( yy mod 4 <> 0 ) Then
Err = 7
End If
End If
' koll av kontrollsiffra
pnr = pp & s ' alla 10 siffrorna i rad
Dim y,x ' för beräkning
x = 0


For i = 1 To 9
If i mod 2 <> 0 Then
y = Mid(pnr,i,1) * 2

If y > 9 Then
y = y - 9
End If

x = x + y
Else
x = x + Cint(Mid(pnr,i,1))

End If

Next

While x > 9
x = x - 10

Wend


If x <> 0 Then
x = 10 - x
End If
' koll om siffran stämmer
If Cint(Right(s,1)) <> x Then
Err = 8
End If

' utskrift av felmeddelande
If Err <> 0 Then


Response.Write("Personnumret: " & pnr & " " & "är felaktigt!")

Else

Response.Write("Personnumret: " & pnr & " " & "är korrekt!")

End If
End Function

%>
--------------------------------------------------

väl mött
Torbjörn


Svara

Sv: Personnummerkontroll i VBScript

Postades av 2004-03-19 15:12:18 - Andreas Hillqvist

Här har jag två funktioner som använder Regular Expressions:
<code>
Function Kontrollsiffra(PersonNr)
Dim re
Dim Index
Dim Check
Dim Number
Dim strText
Set re = New RegExp
re.Pattern = "^[0-9]{6}-[0-9]{4}$|^[0-9]{8}-[0-9]{4}$"
If re.Test(PersonNr) Then
re.Pattern = "^([0-9]{6})-([0-9]{3})[0-9]$|^[0-9]{2}([0-9]{6})-([0-9]{3})[0-9]$"
strText = re.Replace(PersonNr, "$1$2$3$4")
For Index = 1 To 9
Number = CLng(Mid(strText, Index, 1))
If Number Then
If Index And 1 Then
If Number <= 4 Then
Check = Check + Number * 2
Else
Check = Check + (Number * 2) - 9
End If
Else
Check = Check + Number
End If
End If
Next
Check = Check Mod 10
PersonNrKontrollsiffra = ((10 - Check) Mod 10)
Else
Err.Raise 5, "PersonNrKontrollsiffra", "Felaktig personnummer." & vbCrLf & _
"Giltliga format är: ########-####"
End If
End Function

Function FixPersonNr(Value)
Dim re
Dim strTemp
Set re = New RegExp
re.Pattern = "^[0-9]{6}-?[0-9]{4}$|^[0-9]{8}-?[0-9]{4}$"
If re.Test(Value) Then
re.Pattern = "([0-9]{4})([0-9]{2})([0-9]{2})-?[0-9]{4}|([0-9]{2})([0-9]{2})([0-9]{2})-?[0-9]{4}"
strTemp = re.Replace(Value, "$1$4-$2$5-$3$6")
If IsDate(strTemp) Then
re.Pattern = "^([0-9]{6})-?([0-9]{4})$|^([0-9]{8})-?([0-9]{4})$"
FixPersonNr = re.Replace(Value, "$1$3-$2$4")
Else
Err.Raise 5, "PersonNrFormat", "Felaktig år och/eller månad."
End If
Else
Err.Raise 5, "PersonNrFormat", "Felaktig gruppering av personnummer." & vbCrLf & _
"Giltliga gruppering är: ##########, ######-####, ############ och ########-####"
End If
End Function
</code>


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 788
27 960
271 761
5 877
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies