---
title: "Lägg till bindestreck i personnummer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/131251-lägg-till-bindestreck-i-personnummer"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Oputres"
published: "2005-07-10T19:28:38.000Z"
updated: "2005-07-10T22:15:44.000Z"
replies: 4
views: 807
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/131251-lägg-till-bindestreck-i-personnummer"
---

# Lägg till bindestreck i personnummer

## #1 — Oputres, 2005-07-10T19:28Z

Allå!

Jag skulle vilja kontrollera om användaren skrivit sitt personnummer med ett bindesträck och om denne inte gjort det lägga till ett. Eller alternativt att jag tar bort det innan jag lägger till det i databasen (det vet jag hur man gör) och sedan lägger till ett varje gång jag visar personnumret, fast jag föredrar nog det första alternativet.

Permalänk: https://www.webforum.nu/p/131251

## #2 — N0M0NEY, 2005-07-10T20:49Z

Är de bara jag eller skriver man inte sitt personnummer med 2 bindesträck?
Med RegExp Kan du göra en validering !

Function IsDigits(strValue)
   With New RegExp
      .Pattern = "^\[\\d+\]-\[\\d+\]-\[\\d+\]$"
      IsDigits = .Test(strValue)
   End With
End Function

Sen kollar du såhär:
If not IsDigits(Request.Form.Item("Personnmr")) Then
'din lilla kod för att lägga till bindesträck..
End If

Permalänk: https://www.webforum.nu/p/1641750

## #3 — Baltiz, 2005-07-10T20:59Z

Detta borde funka på ett ungefär.

Set re = New RegExp
re.Global = true
re.Pattern = "(\\d{6})(\\d{4})"
personnummer = re.Replace(personnummer,"$1-$2")
Set re = Nothing

Permalänk: https://www.webforum.nu/p/1641751

## #4 — SannyW, 2005-07-10T21:05Z

Lånade lite från Guffa.com

Kan även göra så här för att kontrollera, använde även Baltiz lösning:

```
Function CheckNumber(ByVal strNumber)
   ' deklarera variabler
   Dim lngSum, lngTemp, lngPos

   ' kontrollera formatet
   With New RegExp
      .Pattern = "^\d{2}-?\d{2}-?\d{2}-?\d{4}$"
      If not .Test(strNumber) Then
         CheckNumber = False
         Exit function
      End If
   End With

   ' ta bort eventuella bindestreck
   strNumber = Replace(strNumber,"-","")

   ' beräkna checksumman
   lngSum = 0
   For lngPos = 1 to 10
      lngTemp = CLng(Mid(strNumber, lngPos, 1)) * ((lngPos mod 2) + 1)
      If lngTemp > 9 Then lngTemp = lngTemp - 9
      lngSum = lngSum + lngTemp
   Next

  ' kontrollera checksumman
  CheckNumber = (lngSum mod 10) = 0
End Function

strPersonnr = "690101-3901"

If CheckNumber(strPersonnr) Then
   Set re = New RegExp
   re.Global = true
   re.Pattern = "(\d{6})(\d{4})"
   personnummer = re.Replace(strPersonnr,"$1-$2")
   Set re = Nothing
   Response.Write personnummer
Else
   Response.Write "Personnumret är inte korrekt."
End If
```

Permalänk: https://www.webforum.nu/p/1641753

## #5 — Oputres, 2005-07-10T22:15Z

Snyggt, det blir bara bättre och bättre! :)

Permalänk: https://www.webforum.nu/p/1641785

---

Tråden på webben: https://www.webforum.nu/amne/asp/131251-lägg-till-bindestreck-i-personnummer
