Kom ihåg mig?
Home Menu

Menu


asp.net C# kontroll av personnummer.

 
Ämnesverktyg Visningsalternativ
Oläst 2012-10-21, 21:05 #11
yakuzaemmes avatar
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2012
Inlägg: 773
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
yakuzaemmes avatar
 
Reg.datum: Jun 2012
Inlägg: 773
Citat:
Ursprungligen postat av ConnyWesth Visa inlägg
Kod...

Du gör det så mycket svårare och mer komplicerat än vad det är. Dessutom har dendär inget kontroll över falska personuppgifter, som man kan få tag på genom en enkel google-sökning. Med andra ord är en sådan kontroll värdelös om den ska användas mot riktiga användare.

Ska den bara användas inom exempelvis företaget för att registera sig, fine. Kan skriva ihop en liten kodsnutt senare ikväll och posta här, på en lösning jag tycker är bättre.
yakuzaemme är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-10-22, 18:45 #12
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
Det är väl en ganska bra första kontroll att validera personnumret så att det är rätt antal siffror och rätt checksiffra.

Det är ju inte särskilt svårt att få fram personuppgifter om man vill registrera sig som någon annan.
jonny är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-10-22, 18:51 #13
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Citat:
Ursprungligen postat av jonny Visa inlägg
Det är väl en ganska bra första kontroll att validera personnumret så att det är rätt antal siffror och rätt checksiffra.

Det är ju inte särskilt svårt att få fram personuppgifter om man vill registrera sig som någon annan.
Exakt, det handlar mer om hur många man lyckas filtrera bort ifall det är värt besväret. Att validera personnumret är mer att betrakta som en extra service för besökaren än ett bra skydd mot bedragare.
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-10-22, 22:33 #14
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Jag ser det som två olika valideringar dels att kontrollera att personnummer/orgnr uppfyller de grundläggande kraven som jonny skrev och dels ett helt annat krav om att en person finns i ett annat register.

slår man exempelvis upp ett personnummer mot upplysning.se så får du inte med perosner som är under 16 år, du får inte heller med personer med skyddade personuppgifter. Samt att du absolut måste ha uppkoppling mot internet när du kör kontrollen, dessutom måste tjänstens system vara uppe och rulla samtidigt.

Den första enkla kontrollen som jag bidro med källkod till är avsedd att användas som ett första filter för att slippa rena skrivfel, som är de vanligaste felen, säkerligen över 95%.

Men den kod jag laddade upp är även skriven för att göra den enkelt för de här på WN som inte är så haj på kodning i C# och som vill ha en hyfsad grundstruktur att bygga på egna kontroller av indata. Jag har medvetet låtit bli att göra koden "fullkomlig" då det sätter en del begränsningar av användningsområdet.

Checksiffram brukar vara knepig för de flesta newbies att få till en hyfsad kontroll på, men den är väldigt viktig i algoritmen.

Jag är absolut positiv till om andra vill bygga vidare och komplettera med egna tillägg.

Flera saker kan kompletteras:

- Kolla längd på input data
- Filtrera bort alla tecken utom 0-9 + och -
- Kolla att det är ett giltigt datum angivet
.
.
.

Man kan givetvis "optimera" koden för bättre prestanda eller mindre minnesanvändning, men det finns knappast någon anledning i 99,9999 procent av användningstillfällena.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-10-22, 22:58 #15
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
Personnummer är numera 12 siffror.

http://www.skatteverket.se/download/...08svartvit.pdf

Senast redigerad av hnn den 2012-10-22 klockan 23:01
hnn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-10-22, 23:29 #16
yakuzaemmes avatar
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2012
Inlägg: 773
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
yakuzaemmes avatar
 
Reg.datum: Jun 2012
Inlägg: 773
Hittade denna funktion liggandes på burken. Vad jag menade med din kod Conny var inte att den var dålig eller dylikt men att den var allt för avancerad till vad den skulle bli använd till, om det bara var för att kontrollera skrivfel och dylikt.

Skulle man använda det på en hemsida eller dylikt, säg en webshop, så vill man ha mer bekräftelse än att lite matematik stämmer.

Kod:
private static bool isValid(string n)
        {
            n = n.Trim(); if (n.Contains('-')) n = n.Replace("-", "");
            if (n.Length > 10) n = n.Substring(2, 10);

            Int32 chkSum = 0;
            for (Int32 i = 0; i < n.Length; i++)
            {
                Int32 num = int.Parse(n[i].ToString());
                Int32 addSum = 0;
                if (i % 2 == 0) { addSum = num * 2; if (addSum > 9) addSum -= 9;  }
                else addSum = num;

                chkSum += addSum;
            }
            return (chkSum % 10 == 0);
        }
yakuzaemme är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-10-22, 23:35 #17
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
Du kan inte säga att "-" enbart ska gälla eftersom "+" är giltig för personer som fyllt 100 år.
Även personnummer utan -+ är giltiga.
hnn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-10-22, 23:38 #18
yakuzaemmes avatar
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2012
Inlägg: 773
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
yakuzaemmes avatar
 
Reg.datum: Jun 2012
Inlägg: 773
Citat:
Ursprungligen postat av hnn Visa inlägg
Du kan inte säga att "-" enbart ska gälla eftersom "+" är giltig för personer som fyllt 100 år.
Även personnummer utan -+ är giltiga.
Har jag sagt något annat?

Det fungerar men skulle inte använda det i någon liveprodukt, vilket jag hoppas du och TS förstår. Syftet med ett forum som detta är inte att vi ska spoonfeeda med kod utan att ge dom en bas att jobba på. Detta fungerar somsagt, man skulle kunna lägga in mer kontroller och dylikt, ja.
yakuzaemme är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 21:59.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017