ik heb een klein vraagje. De functie preg_match(); heb ik namelijk nog nooit gesnapt, maar ik heb het nu wel nodig.
Ik wil namelijk de string $gebruikersnaam even controleren of het tussen de 2 en 15 tekens lang is en of het bestaat uit:
- (Hoofd)letters
- Cijfers
- Leestekens: - = ? ! @ : .
Als iemand even deze preg_match in elkaar wilt zetten, hartstikke bedankt! Als ik het dan zie hoe het is gedaan zal ik het wel begrijpen.
En omdat ik nu wat meer tijd heb hierbij de regex + uitleg. Zorg wel dat je de tutorial hebt gelezen, want anders snap je er nog niks van.
/^[A-Za-z0-9-=\?!@:\.]*$/
/ Met // geef je de regex aan.
Dit stamt af van javascript enzo
^ De ^ geeft aan dat je moet beginnen
met zoeken aan het begin van de string
[ Dit opent een character set
A-Z Match de tekens A tot en met Z (alfabet)
a-z Match de tekens a tot en met z (kleine letters)
0-9 Match de tekens 0 - 9
- Match een -
= Match een =
\? De ? is een metacharacter, deze moet je dus escapen
! Match een !
@ Match een @
: Match een :
\. De . is een metacharacter, dus weer escapen
] Sluit de character set
* Met * geef je aan dat de characterset 0 of vaker moet
worden gematched en het liefst zo veel mogelijk
$ Met $ geef je aan dat je moet eindigen bij
het einde van de string
/ Sluit de regex
Kijken hoelang de string is (tussen 2 en 15) kan je ook met een regex doen:
De * (0 of meer keer) moet je dan veranderen in {2,15} (het eerste teken geeft de minimum aantal aan en de laatste het maximum).