Avatar billede Slettet bruger
27. januar 2010 - 19:16 Der er 9 kommentarer og
1 løsning

Validere brugernavn (nemt)

Hejsa!
Jeg håber i kan hjælpe mig med en simpel REGEXP string.

Jeg ønsker at et brugernavn ($user) skal valideres og må kun have følgende tegn i navnet:
a-å
A-Å
0-9
bindestreg (kun i midten af navnet, ikke starte eller slutte med)
mellemrum (kun i midten af navnet, ikke starte eller slutte med)

Alle andre tegn skal være forbudte.

På forhånd tusind tak.
Avatar billede tjp Mester
27. januar 2010 - 23:14 #1
This should do the trick, I think:
"^[\w\d]+([\w\d -]+[\w\d]+)?$"
Avatar billede Slettet bruger
28. januar 2010 - 00:24 #2
It makes 123hej123 false.

$username = '123hej123';

if (!eregi('^[\w\d]+([\w\d -]+[\w\d]+)?$', $username)){
    return 'Username is OK';
}
Avatar billede tjp Mester
28. januar 2010 - 00:48 #3
Hmm... Prøv at bruge dobbelt gnyffer i stedet for '. Det lader til at enkelt-quotes ikke expanderer escape-tegnene. Altså:

$username = "123hej123";

if (!eregi("^[\w\d]+([\w\d -]+[\w\d]+)?$", $username)){
    return "Username is OK";
}
Avatar billede Slettet bruger
28. januar 2010 - 00:53 #4
if (!eregi("^[\w\d]+([\w\d -]+[\w\d]+)?$", $_POST['navn'])){
  return "Username is NOT ok";
}
Avatar billede Slettet bruger
28. januar 2010 - 00:59 #5
Virker stadig ikke skulle jeg lige skrive
Avatar billede tjp Mester
28. januar 2010 - 10:56 #6
Pas... Jeg kan desværre ikke teste i PHP, men det virker altså i VBS. 'eregi' er forresten deprecated fra PHP 5.3.0 af. Prøv evt. med:

if (!preg_match("/^[\w\d]+([\w\d -]+[\w\d]+)?$/", $_POST['navn'])){
  return "Username is NOT ok";
}
Avatar billede Slettet bruger
28. januar 2010 - 12:57 #7
Tak, men nu laver den "asdasd_" gyldig.

KUN abc.......æøå, mellemrum, og 0-9
Avatar billede tjp Mester
28. januar 2010 - 16:22 #8
Prøv med pattern:
"/^[A-Za-zÆØÅæøå\d]+([A-Za-zÆØÅæøå\d -]+[A-Za-zÆØÅæøå\d]+)?$/"
Avatar billede Slettet bruger
21. februar 2010 - 21:54 #9
smid svar
Avatar billede tjp Mester
21. februar 2010 - 21:59 #10
Here U R.. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester