﻿{"id":1950,"date":"2012-11-04T23:36:20","date_gmt":"2012-11-04T21:36:20","guid":{"rendered":"http:\/\/www.samlogic.com\/blogg\/?p=1950"},"modified":"2020-10-30T17:05:08","modified_gmt":"2020-10-30T16:05:08","slug":"validering-av-personnummer","status":"publish","type":"post","link":"https:\/\/www.samlogic.com\/blogg\/2012\/11\/validering-av-personnummer\/","title":{"rendered":"Validering av personnummer \/ ber\u00e4kning av kontrollsiffra &#8211; hur g\u00f6r man?"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"alignright\" src=\"https:\/\/www.samlogic.com\/blogg\/bilder\/symbol-large-man-woman.gif\" border=\"0\" alt=\"\" width=\"146\" height=\"124\"><a href=\"http:\/\/www.samlogic.com\/blogg\/2012\/11\/kontroll-av-svenska-personnummer-och-samordningsnummer\/\">I detta inl\u00e4gg<\/a> p\u00e5 v\u00e5r blogg beskrev vi hur man kan anv\u00e4nda en klass i v\u00e5rt klassbibliotek <a href=\"https:\/\/www.samlogic.com\/swedish-net-classes\/swedish-net-classes.htm\">Swedish .NET Classes<\/a> f\u00f6r att validera (kontrollera) ett svenskt personnummer. I detta blogginl\u00e4gg ska vi beskriva lite allm\u00e4nt hur algoritmen f\u00f6r ber\u00e4kning av kontrollsiffra och validering av personnummer ser ut.<\/p>\n<p><strong>Luhn-algoritmen anv\u00e4nds<\/strong><br \/>\nDen sista siffran i ett personnummer (eller ett samordningsnummer) \u00e4r en kontrollsiffra. Denna siffra ber\u00e4knas med hj\u00e4lp av en algoritm som heter <em>Luhn-algoritmen<\/em> (ibland \u00e4ven kallad modulus-10-algoritmen). Luhn-algoritmen anv\u00e4nds ocks\u00e5 vid ber\u00e4kning av kontrollsiffror till organisationsnummer, postgironummer och bankgironummer, samt en m\u00e4ngd andra nummer.<\/p>\n<p><strong>Ber\u00e4kning av kontrollsiffra<\/strong><br \/>\nKontrollsiffran ber\u00e4knas genom att multiplicera \u00f6vriga siffror i numret v\u00e4xelvis med 2 och 1 (med b\u00f6rjan till v\u00e4nster). Den f\u00f6rsta siffran multipliceras med 2, den andra siffran med 1, den tredje siffran med 2 osv. D\u00e4refter adderas alla produkter med varandra. Tv\u00e5siffriga produkter (tex 12) splittras upp i ensiffriga tal (1+2).<\/p>\n<p><strong>Exempel<\/strong><br \/>\nNedanst\u00e5ende exempel visar hur man ber\u00e4knar en kontrollsiffra till det niosiffriga personnumret <strong>811218-987<\/strong>. F\u00f6rst ber\u00e4knas alla produkter fram:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.samlogic.com\/blogg\/bilder\/nummer-bild-1.gif\" border=\"0\" alt=\"\" width=\"450\" height=\"116\"><\/p>\n<p>D\u00e4refter summeras alla siffror:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.samlogic.com\/blogg\/bilder\/nummer-bild-2.gif\" border=\"0\" alt=\"\" width=\"450\" height=\"45\"><\/p>\n<p>Sedan erh\u00e5lls kontrollsiffran genom att subtrahera summan fr\u00e5n n\u00e4rmast h\u00f6gre tiotal:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.samlogic.com\/blogg\/bilder\/nummer-bild-3.gif\" border=\"0\" alt=\"\" width=\"450\" height=\"43\"><\/p>\n<p>I ovanst\u00e5ende exempel blir allts\u00e5 kontrollsiffran <strong>6<\/strong>. Det kompletta och tiosiffriga personnumret blir d\u00e5 <strong>811218-9876<\/strong>.<\/p>\n<p><strong>Validering av personnummer<\/strong><br \/>\nVid validering av personnummer kan man anv\u00e4nda sig av tv\u00e5 metoder. Man kan antingen plocka ut de 9 f\u00f6rsta siffrorna i personnumret och ber\u00e4kna kontrollsiffran enligt ovan och j\u00e4mf\u00f6ra med den faktiska kontrollsiffran. Eller s\u00e5 kan man anv\u00e4nda sig av en annan metod som beskrivs p\u00e5 ett utm\u00e4rkt s\u00e4tt i denna <a href=\"http:\/\/sv.wikipedia.org\/wiki\/Luhn-algoritmen\">Wikipedia-artikel<\/a> (se sektionen &#8221;Kontroll av nummer&#8221;).<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.samlogic.com\/blogg\/bilder\/separator\/gray-line-separator-w700.gif\" border=\"0\" alt=\"\" width=\"700\" height=\"12\"><\/p>\n<p><strong>Mer information om personnummer<\/strong><br \/>\nMer information om ett personnummers uppbyggnad finns p\u00e5 Skatteverkets hemsida:<br \/>\n<strong><span style=\"color: #ff0000;\">&gt;<\/span><\/strong> <a href=\"https:\/\/www.skatteverket.se\/privat\/folkbokforing\/omfolkbokforing\/personnumretsuppbyggnad.4.18e1b10334ebe8bc80001502.html\">Skatteverket &#8211; Personnumrets uppbyggnad<\/a><\/p>\n<p><strong>Mer information om Luhn-algoritmen<\/strong><br \/>\nMer information om Luhn-algoritmen finns p\u00e5 f\u00f6ljande Wikipedia-sida. D\u00e4r finns ocks\u00e5 ett exempel p\u00e5 hur Luhn-algoritmen kan anv\u00e4ndas f\u00f6r att p\u00e5 ett enkelt s\u00e4tt kontrollera att kontrollsiffran i ett personnummer \u00e4r korrekt:<br \/>\n<strong><span style=\"color: #ff0000;\">&gt;<\/span><\/strong> <a href=\"https:\/\/sv.wikipedia.org\/wiki\/Luhn-algoritmen\">Wikipedia &#8211; Luhn-algoritmen<\/a><\/p>\n<p><strong>Klass som hanterar svenska personnummer<\/strong><br \/>\n<img decoding=\"async\" loading=\"lazy\" class=\"alignright\" src=\"https:\/\/www.samlogic.com\/swedish-net-classes\/classes\/pictures\/klass-bild-nummer.jpg\" border=\"0\" alt=\"\" width=\"122\" height=\"92\">I v\u00e5rt klassbibliotek Swedish .NET Classes finns en klass som kan anv\u00e4ndas f\u00f6r kontroll \/ validering av personnummer via programspr\u00e5k som C# och Visual Basic. Denna klass inneh\u00e5ller \u00e4ven en m\u00e4ngd andra anv\u00e4ndbara metoder vid hantering av svenska personnummer. Exempelvis kan den plocka ut k\u00f6n och \u00e5lder ur ett personnummer. L\u00e4s mer om klassen h\u00e4r:<br \/>\n<strong><span style=\"color: #ff0000;\">&gt;<\/span><\/strong> <a href=\"https:\/\/www.samlogic.com\/swedish-net-classes\/classes\/samlogic-number-library\/class-personal-number.htm\">Swedish .NET Classes &#8211; PersonalNumber Class<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I detta inl\u00e4gg p\u00e5 v\u00e5r blogg beskrev vi hur man kan anv\u00e4nda en klass i v\u00e5rt klassbibliotek Swedish .NET Classes f\u00f6r att validera (kontrollera) ett svenskt personnummer. I detta blogginl\u00e4gg ska vi beskriva lite allm\u00e4nt hur algoritmen f\u00f6r ber\u00e4kning av kontrollsiffra och validering av personnummer ser ut. Luhn-algoritmen anv\u00e4nds Den sista siffran i ett personnummer &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.samlogic.com\/blogg\/2012\/11\/validering-av-personnummer\/\" class=\"more-link\">Forts\u00e4tt l\u00e4sa<span class=\"screen-reader-text\"> &#8221;Validering av personnummer \/ ber\u00e4kning av kontrollsiffra &#8211; hur g\u00f6r man?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[15],"tags":[],"_links":{"self":[{"href":"https:\/\/www.samlogic.com\/blogg\/wp-json\/wp\/v2\/posts\/1950"}],"collection":[{"href":"https:\/\/www.samlogic.com\/blogg\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.samlogic.com\/blogg\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.samlogic.com\/blogg\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.samlogic.com\/blogg\/wp-json\/wp\/v2\/comments?post=1950"}],"version-history":[{"count":7,"href":"https:\/\/www.samlogic.com\/blogg\/wp-json\/wp\/v2\/posts\/1950\/revisions"}],"predecessor-version":[{"id":16533,"href":"https:\/\/www.samlogic.com\/blogg\/wp-json\/wp\/v2\/posts\/1950\/revisions\/16533"}],"wp:attachment":[{"href":"https:\/\/www.samlogic.com\/blogg\/wp-json\/wp\/v2\/media?parent=1950"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.samlogic.com\/blogg\/wp-json\/wp\/v2\/categories?post=1950"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.samlogic.com\/blogg\/wp-json\/wp\/v2\/tags?post=1950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}