login  Naam:   Wachtwoord: 
Registreer je!
 Forum

eregi werkt niet

Offline Warbringer - 17/09/2007 13:46
Avatar van WarbringerOnbekend
  1. if(!eregi("^[@]+$", $_POST['email']))
  2. {
  3. echo "geen @ gevonden";
  4. }


wilt niet werken hij zegt altijd geen @ gevonden...
iemand een idee waar ik de mist in ga?

8 antwoorden

Gesponsorde links
Offline marten - 17/09/2007 13:48
Avatar van marten Beheerder
  1. if(eregi("^[a-z0-9._-]+@[a-z0-9._-]+.[a-z]{2,4}$", $email)) {
  2. echo 'Email is goed';
  3. } else {
  4. echo 'Email is niet goed';
  5. }

Offline Warbringer - 17/09/2007 14:00 (laatste wijziging 17/09/2007 14:17)
Avatar van Warbringer Onbekend pffff das ineens andere koek haha zal is proberen dank u wel!



blijft er één probleem over.
het is een NIEUW scherm met daarin de popup.
is het mogelijk om de popup in hetzelfde scherm te doen?
dus als ze op submit drukken en iets niet is ingevuld dat het dan blijft staan en de p[agina ook en alleen de pop up komt? (alert window)
Offline marten - 17/09/2007 14:21
Avatar van marten Beheerder ^ = begin van de string
[a-z0-9._-] = A-Z en 0-9 (. is elke karakter behalve een nieuwe line(\n))
+ = koppeling tussen 2 delen
@[a-z0-9._-] @ en A-Z en 0-9 (. is elke karakter behalve een nieuwe line(\n))
+ = koppeling
.[a-z]{2,4} = {2,4} geeft aan 2,3 of 4 karakters in de range A-Z

$ = einde van de string
Offline jerone - 17/09/2007 16:37
Avatar van jerone JS gevorderde
marten schreef:
...
.[a-z]{2,4} = {2,4} geeft aan 2,3 of 4 karakters in de range A-Z
...

je kan beter die '4' weghalen, want er bestaan langere achtervoegsels dan 4 letters. bijv. .store / .co.uk / .museum
Offline Warbringer - 17/09/2007 19:34
Avatar van Warbringer Onbekend dus het wordt dan gewoon a-z]{2} ?
Offline ikki007 - 17/09/2007 20:18 (laatste wijziging 17/09/2007 20:18)
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
  1. /^([a-z0-9_-]+\.)*[a-z0-9_-]+@([a-z0-9_-]{2,}\.)+([a-z0-9_-]{2,})$/i


Credits to fangorn  
Offline Stijn - 17/09/2007 21:22 (laatste wijziging 17/09/2007 21:23)
Avatar van Stijn PHP expert @ikki007: goed en wel maar meld er even bij dat die expressie niet werkt met de functie PHP.net: eregi maar met PHP.net: preg_match.

@Warbringer: nee geen {2} gebruiken, dat wil zeggen dat er maar twee tekens mogen staan. Je moet {2,} gebruiken .
Offline ikki007 - 17/09/2007 21:39
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Oja, sorry..

  1. <?php
  2. $pattern = /^([a-z0-9_-]+\.)*[a-z0-9_-]+@([a-z0-9_-]{2,}\.)+([a-z0-9_-]{2,})$/i;
  3.  
  4. if(preg_match($pattern, $_POST['email']))
  5. {
  6. print 'Geldig';
  7. }
  8. else
  9. {
  10. print 'Ongeldig';
  11. }
  12. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.223s