Avatar billede default Nybegynder
06. november 2007 - 16:23 Der er 15 kommentarer og
1 løsning

preg_match, ingen mellemrum i start og slut

Hejsa

Jeg står og er irriteret over folk er opretter en bruger navn med mellemrum i starten, og nogle gør  det i slutningen! Lige nu tillader jeg kun de opretter hvis de kun benytter a til å og fra 0-9 i deres brugernavn.

Hvordan skriver man den her om, så de heller ikke må benytte mellemrum i starten og i slutningen?

if (preg_match("/^[a-z0-9æøåÆØ+][a-z0-9æøåÆØ+ ]*[a-z0-9æøåÆØ+]$/i", $_POST[name] )) {
echo "Værsgod at oprette din bruger";
}
else {
echo "Ugyldige tegn";
}
Avatar billede jakobdo Ekspert
06. november 2007 - 17:17 #1
Du kunne smide $_POST['name'] igennem funktionen: trim()
Den fjerner spaces, newlines, tabs osv.
Avatar billede default Nybegynder
06. november 2007 - 18:02 #2
Hvad gør man så bagefter hvis personen feks gerne vil hedde "Ham den Lange"?
Avatar billede jakobdo Ekspert
06. november 2007 - 18:50 #3
Har du kigget på hvad trim() gør?
Først så laver du:

$name = trim($_POST['name']);
if(preg_match("/^[a-z0-9æøåÆØÅ ]+",$name))
echo "Værsgod at oprette din bruger";
else
echo "Ugyldige tegn";
Avatar billede default Nybegynder
07. november 2007 - 15:11 #4
Den skriver bare ugyldige tegn hele tiden, så det virker ikke det med trim
Avatar billede erikjacobsen Ekspert
07. november 2007 - 15:13 #5
Du skal lige have det hele med:

if(preg_match("/^[a-z0-9æøåÆØÅ ]+/i",$name))
Avatar billede erikjacobsen Ekspert
07. november 2007 - 15:13 #6
faktisk:

if(preg_match("/^[a-z0-9æøåÆØÅ ]+$/i",$name))
Avatar billede default Nybegynder
07. november 2007 - 20:04 #7
Den skriver at det er udgyldig tegn stadig væk
$name = trim($_POST['name']);
if(preg_match("/^[a-z0-9æøåÆØÅ ]+$/i",$name)) {
virker
}
else {
echo "udgyldige tegn";
}
Avatar billede jakobdo Ekspert
07. november 2007 - 20:47 #8
Hvad indeholder $name ?
Avatar billede erikjacobsen Ekspert
07. november 2007 - 20:58 #9
Den er sandsynligvis tom.
Avatar billede default Nybegynder
07. november 2007 - 20:59 #10
$_POST er fra en form af.
Avatar billede jakobdo Ekspert
07. november 2007 - 21:46 #11
Ok, jamen så løser det jo alt! :o)
Avatar billede erikjacobsen Ekspert
07. november 2007 - 21:56 #12
$name=" vredens druer ";
  $name=trim($name);
  if(preg_match("/^[a-z0-9æøåÆØÅ ]+$/i",$name)) {
    print "virker";
  } else {
    print "udgyldige tegn";
  }

den udskriver fint "virker"
Avatar billede erikjacobsen Ekspert
07. november 2007 - 21:57 #13
Avatar billede default Nybegynder
08. november 2007 - 14:47 #14
Jeg vil jo have det så der IKKE må være mellemrum i starten og slutningen! Også må der gerne være mellemrum mellem folks navne altså hvis en feks gerne ville hedde "Hr Jørgen"
Avatar billede erikjacobsen Ekspert
08. november 2007 - 14:55 #15
Vi foreslår bare at du lader dem skrive alle de mellemrum foran og bagved som de vil. Du fjerner dem inden du checker brugernavnet. Det kan være ret irriterende at kigge på "Dit brugernavn er ikke gyldigt", mens man stirrer på et indtastningsfelt:

    brugernavn: erikjacobsen

hvor man ikke se det afsluttende mellemrum. Bare for at gøre det 2 promille mere brugbart.
Avatar billede default Nybegynder
24. august 2009 - 18:43 #16
lukker
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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