[php] reguliere expressie die niet klopt...

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb dus het volgende scriptje :

if (!eregi("^[a-z]+",$_POST['username']) {
echo "begin van de username mag geen cijfer zijn.";
}

die klopt gewoon, en werkt goed.

Maar op het moment dat ik nu een #,^,$,@,!,`,[,],(.) of iets in die trant in de username invoer, dan laat hij deze gewoon door! :?

Ik wil dus alleen normale cijfers en letters kunnen gebruiken zonder andere meuk:

A t/m Z
a t/m z
0 t/m 9

is dit eventueel anders op te lossen?

---------------------------------------------------------------
heb hetvolgende zelf geprobeerd:

Op php freakz de artikelen doorgezocht,

ge-googled naar regular
- expressions
- reguliere expressies

php.net
- manual
---------------------------------------------------------------

Acties:
  • 0 Henk 'm!

  • cavey
  • Registratie: Augustus 2000
  • Laatst online: 29-05 01:29
http://nl.php.net/manual/en/pcre.pattern.syntax.php

die al eens bekeken?


[addendum]

\D

any character that is not a decimal digit

[nog een toevoeging]

en waarom controleren of het eerste karakter NIET een letter is?
Kan je niet beter controleren of het WEL een letter is ?!
als het WEL een letter is (dus in /[a-zA-Z]/ zit, is het goed, anders is het fout?

beter om dus je vergelijking "om te draaien"....

[ Voor 97% gewijzigd door cavey op 05-08-2004 20:20 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
jepperz...

maar daar is het ook niet duidelijk, a-z zou gewoon tussen de a en de z moeten zitten, en niet in de trant van die <shift> + <0-9> etc.

Acties:
  • 0 Henk 'm!

Verwijderd

je moet niet vergeten dat als je wil je checken of het geheel voldoet om $ aan het eind toe te voegen.. maar dat staat ook wel in de docs uitgelegd dacht ik

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dat valt nog wel even te proberen :)

knul!!

je verdient een dikke kuz van me ;) O+ O+

ik zit hier al 2 uur aan te prutsen, en jij vertelt het me binnen 10 minuten _O_

hij werkt nu perfect, thanx alot!

[ Voor 72% gewijzigd door Verwijderd op 05-08-2004 20:30 ]


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

^[a-zA-Z][a-zA-Z0-9]*$

zoiets?

Acties:
  • 0 Henk 'm!

  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

Jouw expressie is sowieso wat vreemd...
En zoals je hem gebruikt beperk je de rest van de string ook nergens op je zegt hier alleen dat het eerst stuk uit kleine letters moet bestaan, daarna mag alles

Jij wilt zeg maar alleen [a-zA-Z0-9] toe laten als het ware ;)
Nu moet je alleen nog even zien hoe je orgt dat er niks voor of na komt dat anders is...
En die eerste letter..

Edit: Erkens heeft het al verklapt :P

[ Voor 12% gewijzigd door RwD op 05-08-2004 20:34 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik was die dollarteken vergeten :) vandaar mijn probleem :)

wel bedankt voor jullie reacties :)
Pagina: 1