WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Kolla av personnummer (https://www.wn.se/forum/showthread.php?t=11951)

Davve 2006-01-21 21:04

Om jag har ett formulär, och kunden knappar in sitt personnummer. Vill att det då görs en kontroll av numret och namn hämtas in. Går det att göra? och i så fall hur?

hnn 2006-01-21 23:42

Susning.nu/Personnummer

jensjakob 2006-01-22 11:18

Jag har en avancerad personnummer-kontroll som dessutom kontrollerar om datumet är korrekt, samt som klarar av flera format i stil med 19YYMMDD-XXXX, eller YYMMDDXXXX, och allt där i mellan. Eftersom den är riktigt smidig att använda, samt kostat en del att utveckla vill jag inte ge bort den gratis. Men hör gärna av dig med ett bud.

Lindahl 2006-01-22 11:23

Haha. Kostat en del att utveckla? Förlåt, men jag måste skratta lite där. En sån skriver man på en kvart. Max.

vco-systems 2006-01-22 11:42

Citat:

Ursprungligen postat av jensjakob
Jag har en avancerad personnummer-kontroll som dessutom kontrollerar om datumet är korrekt, samt som klarar av flera format i stil med 19YYMMDD-XXXX, eller YYMMDDXXXX, och allt där i mellan. Eftersom den är riktigt smidig att använda, samt kostat en del att utveckla vill jag inte ge bort den gratis. Men hör gärna av dig med ett bud.

Citat:

Ursprungligen postat av Lindahl
Haha. Kostat en del att utveckla? Förlåt, men jag måste skratta lite där. En sån skriver man på en kvart. Max.

Säger väl lite om jensjakob's kunskapsnivå ;)

Per 2006-01-22 12:08

Citat:

Originally posted by vco-systems@Jan 22 2006, 12:42

Säger väl lite om jensjakobs kunskapsnivå

Höj nivån och lägg ner personangreppen. Att någon betalat för en vettig personnummerskontroll torde inte vara otroligt.

Lindahl 2006-01-22 12:51

Japp, personangrepp kan vi skippa, kan tom vara så vänlig att jag postar en variant åt dig. Denna kollar dock inte giltigheten på århundradet, vilket gör att du kan knappa in att du är född på 1700-talet utan att den klagar.
Kod:

function valideraPersonnummer(x) {
  x = x.replace(/[^\d]/g,'');
  if (x.length==10) {
    var y = parseInt(x.substring(0,2));
    var m = parseInt(x.substring(2,4));
    var d = parseInt(x.substring(4,6));
    var n = parseInt(x.substring(6,10));
  } else if (x.length==12) {
    x = x.substring(2,12);
    var y = parseInt(x.substring(2,4));
    var m = parseInt(x.substring(4,6));
    var d = parseInt(x.substring(6,8));
    var n = parseInt(x.substring(8,12));
  } else {
    alert("Fel antal siffror i personnummer");
    return false;
  }

  var datum = new Date(y,m-1,d);
  if ((d!=datum.getDate()) || (m!=datum.getMonth()+1) || (y!=datum.getYear())) {
    alert("Felaktigt datumformat");
    return false;
  }

  var s=0;
  for (i=0; i<9; i++) {
    var t = parseInt(x.substring(i,i+1));
    if (i%2==0)
      t*=2;
    if (t>=10)
      s=s+1+(t%10);
    else
      s+=t;
  } 
  var c=10-Math.floor(s%10);
  if (c==10) c=0;
  if (c!=(n%10)) {
    alert("Felaktig kontrollsiffra");
    return false;
  }

  alert("Personnummer korrekt");
  return true;
}


jensjakob 2006-01-22 12:52

Samtliga personnummerkontroller jag sett på internet är usla. Inte ens banken klarar att man skriver in personnumret man är van med, jag har hört folk som inte kunnat lägga en beställning eftersom de skrev 820529-2322 istället för 1978... osv. Så skriver man utan bindestreck, eller råkar skriva skriva en bokstav i mitten blir det oftast fel.

Det arbete jag lagt ner handlar alltså väldigt lite om själva koden. Det handlar om att se hur folk skriver in sitt nummer samt anpassa det till hur man vill ha det sparat i sitt system. Själva koden är inte allt; har Blocket låg kunskapsnivå bara för att deras sida är lätt att koda!?

Mickee 2006-01-22 15:27

Citat:

Originally posted by Davve@Jan 21 2006, 22:04
Om jag har ett formulär, och kunden knappar in sitt personnummer. Vill att det då görs en kontroll av numret och namn hämtas in. Går det att göra? och i så fall hur?
Hejsan ja det är klart att det går att koppla fram så du får fram personens namn.
En tjänst som (vad jag förstår) erbjuder det är infodat a . s e där kan man få fram det mesta genom att ha personummret.
w w w.infodata.se/produkt/a_o_infocus.asp kanske är något?
"Det finns kommunikationsprogram för olika tekniska plattformar, som PC Windows/NT (DLL) och UNIX (SO-fil). För vissa tjänster finns möjlighet att använda JAVA samt SOAP / Web Services. För den som vill kommunicera med
InfoTorg via ”öppet” Internet finns SSL-stöd (kryptering)."

Om du bara vill ha en funktion som räknar ut om personnumret är "riktigt" (dvs om kontrollsiffran stämmer) och tillhör en kvinna eller man så rä det dock betydligt lättare att lösa (en sån funktion har jag liggandes skriven i php om det är någon som vill ha den så skicka ett pm)


Alla tider är GMT +2. Klockan är nu 11:06.

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