WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Validering av namn (https://www.wn.se/forum/showthread.php?t=1042945)

Oddity 2010-07-16 11:12

Validering av namn
 
Tjena, jag skulle behöva en funktion som kontrollerar att ett förnamn och efternamn är korrekt ifyllt. Med korrekt menar jag att det verkligen är ett namn, eller iaf ett korrekt svenskt ord. Om någon fyller i AAAA som förnamn, så skall detta ge ett fel. Det räcker alltså inte med att kontrollera längden på ordet, dvs att man har fyllt i något överhuvudtaget. Absolut bästa vore att kunna koppla upp sig mot en databas innehållande samtliga svenska namn och kolla om det angivna namnet finns med.

Någon som har en smart lösning för detta? Frågan är om det går att lösa detta med en regexp som kollar grammatiken?

Oddity 2010-07-16 11:14

Ett problem är ju personer som bor i sverige men har ett utländskt namn, då fungerar det ju inte att anpassa efter hur det svenska språket är uppbyggt. Tanken bakom funktionen är iaf att få bort så många som möjligt som fyller i namnet "asdfasdf" eller "ABCDE" eller "jfjfjfjfjfjffjjfjf" osv.

Perben 2010-07-16 11:26

En databas som innehåller alla världens namn med diverse stavningar: Nä.
Ett regexp som passeras av alla världens namn: Nä.

Såvida du inte har en väldigt speciell applikation på gång känns det nog mest rätt att validera manuellt. Du kan också curla mot exponerade databaser om det kan vara värt besväret... t.ex http://svenskanamn.alltforforaldrar.se/visa/[namnet här]

tartareandesire 2010-07-16 11:48

Grammatiska regler har inget med saken att göra. Du kan omöjligt validera namn. Däremot kanske du kan få bort många av de falska namn du nämner eftersom de nog ofta skrivs in på liknande sätt.

wiggin 2010-07-16 12:39

Även om det är svårt (nästan till omöjligt) så borde det gå att göra det från andra änden, dvs göra pattern som matchar felaktiga namn. Dock borde du kanske inte neka dessa besökare, istället kan det vara bättre att göra manuell kontroll eller att ett email skickas när en sådan besökare registreras så du enkelt kan hantera det. I Regular expression kan du enkelt se om bokstäver upprepar sig eller om man skriver bokstäverna i följd. Jag gjorde själv ett liknande script för att försöka få användare att välja bättre lösenord.

Den här kanske kan vara till lite hjälp: http://stackoverflow.com/questions/9...ithin-a-string

hnn 2010-07-16 12:39

Nog bättre med en blacklist än en whitelist.

Kör ett tag med manuell validering och lägg alla felaktiga namn i en blacklist.

Oddity 2010-07-16 12:51

Citat:

Ursprungligen postat av hnn (Inlägg 20362706)
Nog bättre med en blacklist än en whitelist.

Kör ett tag med manuell validering och lägg alla felaktiga namn i en blacklist.

Japps, det är exakt så jag gör, går igenom samtliga manuellt, markerar namnet som fake, efter ett tag har man byggt upp ett stort register med felaktiga namn som man kan jämföra mot.

jonny 2010-07-16 14:48

Någon form av koppling mot folkbokföringen är väl det enda som kan fungera. Men det finns folk som är folkbokförda med en stavning och regelmässigt använder sig av en annan.

Oddity 2010-07-16 15:01

Citat:

Ursprungligen postat av jonny (Inlägg 20362720)
Någon form av koppling mot folkbokföringen är väl det enda som kan fungera. Men det finns folk som är folkbokförda med en stavning och regelmässigt använder sig av en annan.

Exakt, men då måste man ha personnummer =)

tartareandesire 2010-07-16 15:55

Citat:

Ursprungligen postat av Oddity (Inlägg 20362721)
Exakt, men då måste man ha personnummer =)

Är det verkligen viktigt att du får korrekta namn om du inte tar personnummer? De som av någon anledning vill vara anonyma kommer väl förmodligen ändå att använda falskt namn.


Alla tider är GMT +2. Klockan är nu 04:10.

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