Just nu i M3-nätverket
Gå till innehåll

validera namn och siffer kombinationer


gelki

Rekommendera Poster

Har letat så bra jag kan och hittar inte en funktion i asp, VB som kontrollerar sannolikheten av ett riktigt namn och ett giltig siffer serie.

 

Anta att någon skriver in som sitt namn: AAAAsssss som förnamn. Mitt system tycker ju att det här är godkänt eftersom de är chars och längden är okey.

 

Vad jag önskar är att få veta om den strängen har mer >=3 av samma tecken efter varandra då ska funktionen ge ett false. ex vi kan ju se att AAA är ju tre tecken och ska visa ajabaja!. Men hur bör funktionen se ut.? Är det någon som vet ännu bättre sätt att validera namn ex förnamn att sannolikheten för att det är korrekt namn är hög.

 

 

Likaså har jag samma bproblem med upprepande siffror. Finns folk ex som skriver 12345 som postnummer eller 11122 eller 00033. Kan man validera internationella postnummer på ett bra sätt?

 

Tacksam för förslag. Och kommentarer.

 

Länk till kommentar
Dela på andra webbplatser

För att kontrollera fall 1 (tre eller fler av samma bokstäver i följd) kan du pröva med följande:

Set re = new regexp
re.pattern = "([\w])(?:\1){2,}"
if re.test(data) then response.write "ajabaja"

 

När det gäller att verifiera postnummer behöver du använda uppslagslistor eller en databas över sådana.

 

Länk till kommentar
Dela på andra webbplatser

Tack Anjuna Moon!

Fungerar klockrent! Även att validera så att tre siffror inte finns.!

ett Stort + också för den snabba svar också!

 

 

 

// Gelki

 

Länk till kommentar
Dela på andra webbplatser

hmm... jag kom på, att förutom tecken validering så kunde man ha ordvalidering också.

Anta att någon har skrivit in följande i namnfältet:

bara ett ex: lollol

LOL LOL är ju två ord, ja kanske en av världens mest vanliga men tilllika ganska så vanligt förekommande i namn sammanhang. Och här skulle man vilja med samma regex få ett ajabaja om också upprepande ord på >=2 ord fanns i namnet. Hehe detta är överkurs för mig iallafall men jag tror att det skulle kunna stärka den fantastiska reg exp varjanten ytterligare som Anjuna Moon skrev.

 

[inlägget ändrat 2010-01-14 17:51:02 av gelki]

Länk till kommentar
Dela på andra webbplatser

Någonstans måste man ju dra gränsen för hur mycket man skall validera.

Beroende lite på syftet med formuläret så kan man vara olika hård.

 

Om det är ett registreringsformulär (registrering av medlemskap, kund el.dyl.) så tycker jag att man kan nöja sig med att ha e-postvalidering i två steg.

Först en regexp-validering av att det är en korrekt formaterad adress. Sedan skickar man en valideringslänk till angiven e-postadress. Om man inte klickar på den länken inom låt säga 48 timmar så raderas registreringen.

 

Om du kan/vill berätta lite mer om syftet med formuläret samt problemet med okynnes-postningar så blir det lättare att komma med bra lösningsförslag.

 

/Cluster

----------------------------------------------

Any fool can use a computer. Many do.

-----[ http://eforum.kicks-ass.net ]------

 

Länk till kommentar
Dela på andra webbplatser

Syftet är att förhindra att en besökare när han skriver in sitt namn som ska stoppas in i databasen skriver in värdelösa slentriantvarianter.

 

Anta att du ska göra en annons som lovar att vinna en kryssning för två till medelhavet. För att vinna kryssningsresan eller nilen resan eller vilket pris det nu är så krävs att besökaren skriver sitt namn och telenummer. En besökare kan ju skriva vad som helst för namn men rätt telefonnummer eftersom besökaren blir uppringd när han vinner någonting. Rent hypotetiskt. Så man vill absolut att namnet ska vara validerad så bra som möjligt. Därför undrade jag

 

 

 

Länk till kommentar
Dela på andra webbplatser

Ok, men rent hypotetiskt så borde ju den som ringer upp märka att namnet är påhittat och slumpa fram en ny vinnare?

Det krävs ju som du säger att man anger sitt namn och sitt nummer för att kunna vinna...

 

Det jag menar är att det i de flesta fall inte är något reellt problem. Om besökarna har något att vinna på att ange korrekta uppgifter kommer de göra det.

 

Vad är det som du egentligen vill skydda dig emot mha validering?

 

 

/Cluster

----------------------------------------------

Any fool can use a computer. Many do.

-----[ http://eforum.kicks-ass.net ]------

 

Länk till kommentar
Dela på andra webbplatser

Finns folk ex som skriver 12345 som postnummer eller 11122 eller 00033.
11122 är ett giltigt postnummer.

 

Länk till kommentar
Dela på andra webbplatser

Som Cluster är inne på så måste det banne mig finnas en poäng med vissa uppgifter. Jag kan förstå sådant som postnummer och äkta namn på vissa ställen, men jag gissar att det i ditt fall faktiskt inte finns något.

 

Utöver detta tycker jag att vi i Sverige borde gå lite före andra länder (läs USA) och sluta fråga efter adressinfo och annan ointressant information i anmälningsformulär. Jag vet att alltför många svenska sajter gör detta enbart för att denna norm satts på i princip varenda amerikansk kommersiell sajt. Nu växer vi upp och vågar vägra, eller?

 

[inlägget ändrat 2010-01-15 01:53:23 av Anjuna Moon]

Länk till kommentar
Dela på andra webbplatser

Tack ni alla som medverkat i diskussionen. Alltid trevligt och roligt att få höra de moraliska bitarna varför eller varför inte. Jag har har också ibland svårt att hålla mig till ämnet. Lätt hänt då man har många livsfrågor som man vill få svar på eller frågor att ställa men så kort tid att leva.

 

Jag håller fullständigt med dig Anjuna Moon. Överflöd av adresser hit och dit. Varför ska man överhuvudtaget ger ut sin bostadsadress eller namn? Och lägga in detta på säg en kontaktannons sajt. Vaf.. ska de ha mina adress uppgifter för.? Nä våga vägra är också min melodi. Det finns tusen saker och orsaker att vägra!

 

Dock hade jag velat att vi kunde hålla oss till ämnet och få fram ett exempel på hur man kan validera ett namn så att ord kombinationer inte repeteras i en sträng eller namn, eller kalla det vad ni vill.

 

Ex säg "abbaabba kalle anka" vi ska validera strängen så att dubbla instanser av ord i en och samma sträng valideras med ett "AjaBaja".

 

:thumbsup:

 

Länk till kommentar
Dela på andra webbplatser

Ok, för att närma oss ämnet något (men ändå hålla oss kvar vid kärnfrågan)...

Jag kan inte låta bli att ifrågasätta på vilket sätt som och varför du tänkt bestämma vad folk får respektive inte får heta för att få fylla i ditt formulär.

Såklart helt upp till dig men jag förstår helt enkelt inte syftet.

 

Som jag skrev tidigare, om de som förväntas fylla i formuläret har något på att vinna på att fylla i det korrekt så kommer de att göra så.

De som inte gör det kan du ju helt enkelt bortse ifrån.

Hjälper eller stjälper du dina besökare med valideringarna?

 

 

/Cluster

----------------------------------------------

Any fool can use a computer. Many do.

-----[ http://eforum.kicks-ass.net ]------

 

Länk till kommentar
Dela på andra webbplatser

Dock hade jag velat att vi kunde hålla oss till ämnet och få fram ett exempel på hur man kan validera ett namn så att ord kombinationer inte repeteras i en sträng eller namn, eller kalla det vad ni vill.

Ok, sorry. Men om vi håller oss helt till ämnet så hör det ju till saken att repeterade kombinationer av bokstäver faktiskt förekommer i såväl orts- som pesonnamn.

Vad du efterfrågar är i mina ögon inte förenligt med god sed (och möjligtvis olagligt) för det du vill göra är att bedöma vad som är att betrakta som "acceptabla" namn. Alla heter inte Karl-Oskar och Kristina i Sverige längre...

 

 

 

(ok, jag inser att jag forfarande inte höll mig till ämnet, sorry igen, lite senare under helgen kanske jag kan ge lite fler exempel på varianter av reguljära uttryck att använda. I slutändan är ändå frågan om det är nödvändigt.

Jag ska på ett Microsoft-seminarium om en vecka och jag är anmäld som A A.De bryr sig inte, så länge jag är anmäld och har biljetten. Fundera på vad syftet är med infon. Är vissa uppgifter vitala så är det oftast inte namnen utan pass-, person-, konto- ssn- och andra identifierande saker som är långt enklare att både validera och verifiera)

 

 

[inlägget ändrat 2010-01-15 21:34:34 av Anjuna Moon]

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...

Jag fick hjälp med lösningen på sweclockers forum. Där filosoferade man mindre över vad hur varför jag använder mig av funktioner.

 

Och ja det gick att lösa även detta med regex precis som Anjuna Moon i början sa.

 

så här löste kurrekula från sweclockers detta.

 

 

string regex = @"(?<word>\w{3,})[\s\w]*(\k<word> )";

 

testa här:

http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx

 

Tack även eforums duktiga problemlösare/filosofer. :thumbsup:

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...