login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Reguliere Expressie Email (Opgelost)

Offline Abbas - 04/09/2008 15:26
Avatar van AbbasGouden medaille

Crew .NET
Ik gebruik al lange tijd een reguliere expressie in .NET om na te kijken of er wel een geldig e-mailadres is ingevoerd, namelijk de deze:
  1. ^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$

Deze werkte altijd perfect. Nu wil ik die gebruiken in PHP in een formulier maar ik krijg altijd deze foutmelding:
Citaat:
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in ... on line ...
Weet iemand hoe dit komt?

Alvast bedankt!

6 antwoorden

Gesponsorde links
Offline Rens - 04/09/2008 15:38
Avatar van Rens Gouden medaille

Crew algemeen
Je moet nog een delimeter toevoegen op het einde die aangeeft dat de regex ophoud.
  1. ^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})^$


Dus nog een ^ voor de $.
Offline Abbas - 04/09/2008 15:45 (laatste wijziging 04/09/2008 15:51)
Avatar van Abbas Gouden medaille

Crew .NET
Hm, dan krijg ik de volgende foutmelding:
Citaat:
Warning: preg_match() [function.preg-match]: Unknown modifier '$' in ... on line ...


Edit:
Als ik dan die '$' op het einde gewoon weglaat doet hij het wel, hij valideert nu correct. Kan dit of is dit gewoon toevallig?
Offline Rens - 04/09/2008 16:42
Avatar van Rens Gouden medaille

Crew algemeen
Dat kan wel kloppen.
Ben zelf ook niet helemaal van de regex's dus kan zijn dat die $ er gewoon niet bij hoort;-)
Offline vinTage - 04/09/2008 18:32
Avatar van vinTage Nieuw lid Of gewoon die regex skippen en het door php filter(5) te checken.
Offline Joost - 04/09/2008 19:08
Avatar van Joost PHP expert http://www.site...datie#kop4

:p
Offline Thomas - 05/09/2008 00:30
Avatar van Thomas Moderator Errr... Zet er ## omheen, of // ? Dat zijn toch delimiters?

^ geeft alleen aan dat ie alles vanaf het begin van de expressie moet pakken, en $ wil zeggen einde van string, dus /^regexp$/ wil zeggen, het hele te controleren ding moet precies (van begin tot eind) voldoen aan regexp.

  1. if (preg_match('/^[1-9][0-9]*$/', $whatever)) {
  2. echo 'whatever is a non negative integer.';
  3. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.206s