Erreur php

Résolu
Bonjour,
j'ai cette erreur
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found

suite a sa

(preg_match('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$', $address)

comment pourai je le resoudre ?

merci

5 réponses

  1. Tu peux aussi utiliser les filtres pour valider un email (https://www.php.net/manual/fr/function.filter-var.php ) :
    <?php  
    if(!filter_var("someone@example....com", FILTER_VALIDATE_EMAIL))  
     {  
     echo("E-mail is not valid");  
     }  
    else  
     {  
     echo("E-mail is valid");  
     }  
    ?>   


    Sinon pour l'expression régulière la réponse est au dessus ^^
    1. Bonjour,
      ajoute des "/" au début et à la fin de ton expression régulière :
      preg_match('/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/', $address) ;

      1. La première erreur est normale car ereg est obsolète et doit être remplacée par preg_match.
        La deuxième erreur viens juste du fait que php ne trouve pas de fonction nommée register, donc rien à voir avec preg_match.
        1. merci sa fonctionne bien ,
          par contre je ne peut pas utiliser la fonction ereg ()il y a cette erreur Deprecated: Function ereg() is deprecated in

          car le fais de mettre preg_math cela , crée une erreur sur une autre page , ou grace a ereg je pouvait ensuite utiliser register($username, $email, $password);

          en mettant preg_math j'ai de se fais cette erreur Fatal error: Call to undefined function register() in a la ligne ou j'ai register($username, $email, $password);

          merci
          1. c'est bon j'ai oublier d'inclure la fonction register ^^ merci beaucoup encore