VÉRIFICATION SYNTAXIQUE DE L'ADRESSE EMAIL

DiGhan Messages postés 239 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 3 juin 2010 - 13 avril 2007 à 22:04
cs_bluedemon Messages postés 41 Date d'inscription mercredi 21 septembre 2005 Statut Membre Dernière intervention 3 novembre 2008 - 23 mars 2011 à 23:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42243-verification-syntaxique-de-l-adresse-email

cs_bluedemon Messages postés 41 Date d'inscription mercredi 21 septembre 2005 Statut Membre Dernière intervention 3 novembre 2008
23 mars 2011 à 23:42
Bonjour Nath.
Après quelques années (4 ans presque) que j'ai posté mon dernier com, sache que la syntaxe des expressions régulières sont pratiquement identiques dans tous les languages. A partir du moment où tu comprends la syntaxe, tu peux faire des contrôles dans tous les langages que tu connais. Par exemple en php, je fais un premier controle en javascript , qui à cette époque devait disparaitre et être désactivé tout le temps, mais grâce à john resig (jquery), le javascript a encore beaucoup de temps devant lui, puis un deuxième contrôle en php.
Nath_design Messages postés 1 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 23 mars 2011
23 mars 2011 à 22:49
Bonsoir,
Je suis hyper débutante de chez débutante, mais le code m'a bien servi!
Merci.
rafplus Messages postés 7 Date d'inscription jeudi 17 septembre 2009 Statut Membre Dernière intervention 4 octobre 2009
25 sept. 2009 à 00:40
Mercin, mais Ce code que ta met c'est un copier coller de commentcamarche.net, arrêt de faire ca, sinon il est tres bie,.
sidouo Messages postés 15 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 31 mars 2010
6 juil. 2008 à 13:34
salut tous ;
je suis debiutant en php

je veux verifier l'adresse mail est je suis tombe sur ce forum

j'ai trouver les sintaxe ces dessus mais j'ais pas bien comprie ce que signife ces syntaxe.

quelqu'un peut m'explique ces syntaxe:

#^------------>.........

#^[\w.-]------>...........

etc.........

merci a tous..
yoasminn Messages postés 1 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 12 mai 2007
12 mai 2007 à 22:55
Franchement je comprends pas les commentaires, au contraire ce code me semble très bien fait. \w correspond à [a-zA-Z0-9_] donc inutile de surenchérir. Le #i est effectivement préférable mais il ne sert que pour l'extension. Le point n'a pas à être échappé, il est là pour ajouter le tiret à la liste alphanumérique. Je ne suis pas développeur mais j'ai trouvé les infos ici: http://www.commentcamarche.net/javascript/jsregexp.php3. Bon j'ai pas testé le script tel quel, mais j'ai utilisé l'expression régulière dans du javascript (un formulaire qui est désactivé si le javascript n'est pas activé) et ça fonctionne nickel. Merci, ça m'a aidé
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
16 avril 2007 à 13:29
"Peu de monde le désactive. ;-)"
Les salles de jeux en reseaux si quelques fois.

Et c'est la que proviennent de nombreuses attaques... faut pas croire :)


Tu es obligé de faire une vérification coté serveur dans tous les cas.
cs_bluedemon Messages postés 41 Date d'inscription mercredi 21 septembre 2005 Statut Membre Dernière intervention 3 novembre 2008
16 avril 2007 à 10:23
La plus part du temps le javascript est désactivé mais en entreprise ou un réseau sécurisé. Peu de monde le désactive. ;-)
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
16 avril 2007 à 10:14
@Bluedemon :
Le javascript peut etre désactivé => t'as vérif ne sert plus a rien.

LE JS NE SERT QU'A APPORTER DU CONFORT D'UTILISATION ET N'EST PAS UN SYSTEME DE CONTROLE FIABLE.

je sais je crie, mais il faut que ca rentre.

Les vérifications doivent obligatoirement se faire coté serveur ... (je me suis calmé ;) )
cs_bluedemon Messages postés 41 Date d'inscription mercredi 21 septembre 2005 Statut Membre Dernière intervention 3 novembre 2008
16 avril 2007 à 09:44
Pour ma part, je préfère les expressions régulières en javascript, ca permet de contrôler avant la validation et d'éviter de recharger la page et récupérer les valeurs saisies pour les remettre dans la page. Intéressant aussi pour ceux connectés en bas débit. Enfin c'est mon avis !! ;-)
xloadx Messages postés 28 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 10 septembre 2011
15 avril 2007 à 22:44
Bien bien tout ça mais la devise du programmeur n'est-elle pas:

" Ce qui est fait ne sera plus à faire ? " ^^
DiGhan Messages postés 239 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 3 juin 2010 1
15 avril 2007 à 20:56
FhX > Houla, effectivement ;-)
namstou3 Messages postés 4 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 11 octobre 2007
15 avril 2007 à 13:39
merci les gars vous avez bien raison il manque de tas de choses, mai ça serai bien de laisser une ptite partie à programmer pour nos programmeurs ;)
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
14 avril 2007 à 18:06
Pour faire plus court, il est possible d'utiliser l'opérateur ternaire pour le retour.
=> return (preg_match($Syntaxe,$adresse))?true:false;

Pour faire plus court, il suffit d'envoyer directement le résultat en retour de fonction.
=> return preg_match($Syntaxe, $adresse);

:D
jdalton42 Messages postés 200 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 19 août 2009
14 avril 2007 à 11:17
je suis d'accord avec garfield90 de plus il existe pleins de sources meilleur que celle la sur phpcs
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
14 avril 2007 à 00:05
IL y a un nombre de cas non négligeable pas pris en compte :

- le cas ou le domaine est une adresse IP
- le cas ou la TLD peut prendre plus de 5 caractere (ex: .museum)
- le cas ou le domaine commence par un chiffre : info@01net.com
- le cas ou l'adresse vient d'un sous domaine . info@sous.domaine.com
- la presence de l'underscore "_", du . (il est pas précédé de "")
- etc.
DiGhan Messages postés 239 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 3 juin 2010 1
13 avril 2007 à 22:04
Hello,

2/3 petites choses concernant le masque que tu as utilisé:
- pour ne pas faire attention à la case, il existe le flag i à insérer dans les options
=> '#^[\w.-]+@[\w.-]+\.[a-z]{2,5}$#i'
- ton masque match les adresses de ce type: -@xxx.com. Il faut donc vérifier que le 1er caractère est un caractère alphanum pour le login (à faire pour l'host).
=> '#^[a-z0-9]([.-]\w)+@[\w.-]+\.[a-z]{2,5}$#i'
- un nom de domaine ne dépasse pas 4 caractères, il me semble.
=> '#^[a-z0-9]([.-]\w)+@[\w.-]+\.[a-z]{2,4}$#i'

Enfin, en supplément il serait intéressant de retourner les composantes de l'adresse mail dans une variable passée par référence, par exemple.

Pour faire plus court, il est possible d'utiliser l'opérateur ternaire pour le retour.
=> return (preg_match($Syntaxe,$adresse))?true:false;
Rejoignez-nous