[PHP REJEX] UNDERSCORE

Bonjour,

je souhaite vérifier une adresse mail, j'ai tout essayé, je suis allé sur un tas de forums, mais le underscore continue a faire buger mon code

if(!preg_match('#^[a-z0-9_.-]*@[a-z0-9.-]{2,}[.][a-z]{2,4}+$#i', $mail)) => une adresse prenom_nom@adresse.fr ne fonctionne pas

même avec \w qui équivaut à [a-zA-Z0-9_], la présence d'un underscore renvoie false

6 réponses

  1. Bonjour,
    essayes avec ce regex la :
    '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'; 
    
    0
    1. malheureusement ça ne fonctionne pas non plus

      if(!preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#', $mail))
      $erreur['mail'] = 'Cette adresse email est invalide. S\'il s\'agit bien de votre adresse, contactez un administrateur.';

      => en utilisant prenom_nom@hotmail.fr, je tombe sur le message d'erreur
      0
      1. Vire moi ce ! devant preg_match !!
        0
        1. en fait je mets ! parce que si l'adresse n'est pas valide je créé une erreur, c'est pour indiquer une non validité

          je peux pas rester je re ce soir pour essayer de débuguer ce code ! ^^
          0
          1. je viens de te le débugger !!
            if(!preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#', $mail)) 
            { 
            $erreur['mail'] = "erreur .........."
            } 
            else 
            { 
            echo "good mail"; 
            } 
            
            0
            1. étonnant que cela fonctionne pour toi, je dois donc avoir un soucis de config ou d'hébergeur, je suis chez hostpapa

              peut être quelqu'un a-t-il déjà eu ce problème ou sait comment le régler ?
              0