Forum » Server-Side scripting » Regex serial code
Rapifia Europe
Berichten: 3719
avatar
Offline Stuur privebericht
Beste,

Voor een nieuwe optie ben ik bezig met serial codes.
Deze zijn in onderstaand formaat:
X9X9-X9X9-X9X9-X9X9 (dus 4x4 letters of cijfers)

Dit probeer ik te checken met deze regex code en preg_match:
Code | Selecteer Alles
minimaliseren
1
"^([a-zA-Z0-9]{4})-([a-zA-Z0-9]{4})-([a-zA-Z0-9]{4})-([a-zA-Z0-9]{4})$"


Alleen hij schijnt ze niet goed te keuren, wat heb ik verkeerd gedaan?

Alvast erg bedankt.

Met vriendelijke groeten,

Lars
28-12-2011 15:48
Dit topic is 57 keer bekeken door 19 verschillende leden
Reacties op: "Regex serial code"
1
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Er bestaan verschillende ereg() functies eregi() is bijvoorbeeld niet hoofdletter gevoellig. Maar bij preg_match() moet je dat op een andere manier aangeven: aan het einde van de string. Maar dan zou het moeilijk te bepalen zijn wat hij de regex hoort en wat een modifier is.

Daarom moet je het begin en eind van de regex aangeven met tekens naar eigen keus. De slash wordt het meest gebruikt. Het eerste teken in de string moet dus ook gebruikt worden om het einde van de regex aan te geven, in jouw geval is dat ^. Maar aangezien het dakje een speciale betekenis heeft (het matched het begin van een string) wil je waarschijnlijk iets anders gebruiken.

Code | Selecteer Alles
minimaliseren
1
preg_match('/^([a-zA-Z0-9]{4})-([a-zA-Z0-9]{4})-([a-zA-Z0-9]{4})-([a-zA-Z0-9]{4})/', ...)
is dus wat je wilt. De slash zou je ook kunnen vervangen door een hekje, een een tilde, een plus teken of wat je maar wilt.

Zie http://www.php.net/manual/en/regexp.reference.delimiters.php
28-12-2011 16:04
Reageer op: "Regex serial code"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden