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.

crazzy 2010-07-17 21:22

För de exempel du nämnt kan du ju kolla om namnet innehåller en serie om 4-5 eller fler tecken som ligger efter varandra i alfabetet. Och kolla ifall det finns X antal eller flera upprepningar av serier på 2-3 tecken. Men det är inte värt besväret, för som tartareandesire säger kommer ju en användare köra på falskt namn om han/hon vill vara anonym.

Ara 2010-07-20 22:20

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.

och om folk inte bor i Sverige?

tartareandesire 2010-07-21 12:34

Citat:

Ursprungligen postat av Ara (Inlägg 20363058)
och om folk inte bor i Sverige?

Man står med ändå, åtminstone ett antal år. Det är hur som helst inte särskilt relevant i min mening. Alla lösningar som stänger ute människor i onödan är dåliga.

Jonas 2010-07-21 13:11

Citat:

Ursprungligen postat av Oddity (Inlägg 20362707)
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.

Vad händer den dagen jag byter namn till "jfjfjfjfjf" hos Skatteverket? :)

martine 2010-07-22 18:25

Jag antar att du kommer neka de som skriver jfjfjfjfj som namn att registrera sig med ett felmeddelande och sannolikheten då är väl snarare att de provar med något mer rimligt och då får du istället en massa användare som du inte ens manuellt kan rensa ut på något enkelt sätt - vad är meningen med det?

BjörnJ 2010-07-23 10:17

Man skulle kunna kolla mot en lista med riktiga namn och om namnet finns med flaggas det automatiskt som validerat. Då blir det inte lika många namn som behöver valideras manuellt. Kan även kombineras med en blacklist. När man sedan validerar manuellt kan namnet läggas till i någon av listorna.

Bjorne 2010-07-23 12:19

Ett bayesiskt filter borde fungera perfekt för ändamålet.

Magnus_A 2010-07-23 15:45

Citat:

Ursprungligen postat av Bjorne (Inlägg 20363304)
Ett bayesiskt filter borde fungera perfekt för ändamålet.

Det är nog det enda som fungerar hyggligt om du inte tar personnummer och hämtar namn från folkbokföringen. Men du kommer ändå att få ett antal falska positiva/negativa.

JonatanH 2010-07-29 19:34

Det här får mig att tänka på en artikel jag läste för någon månad sedan, som känns ganska relevant: Falsehoods Programmers Believe About Names

Jine 2010-07-31 02:44

Jag har tjejkompis som heter "Ng" i efternamn, svårt att matcha mot det med något som även ska ta Andersson, men inte asdasdasd...

:/


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

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