VERIFICATION DE LA VALIDITÉ D'UNE ADRESSE E-MAIL (PLUS DE 14 TESTS) 100% WORKIN

tkof Messages postés 35 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 31 janvier 2012 - 10 mars 2006 à 05:59
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 11 mars 2006 à 08:59
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/36468-verification-de-la-validite-d-une-adresse-e-mail-plus-de-14-tests-100-working

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 mars 2006 à 08:59
{, } et + sont autorisés dans une adresse mail... (pour lutter contre le spam, mettez ces caractères dans votre adresse, les moteurs comme celui-ci, mais ceux qui spamment, ne liront pas votre adresse...)
Palleas_44 Messages postés 130 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 avril 2009
11 mars 2006 à 08:48
Et qui ne savent pas coder...

Personelement je ne suis pas convaincu que ta source tarabiscotée soit d'une réelle aide pour ceux qui ne savent pas coder... Avis personnel moi non plus j'ai pas pris ma douche ^^
TheSin Messages postés 331 Date d'inscription mardi 12 novembre 2002 Statut Membre Dernière intervention 10 février 2009
11 mars 2006 à 05:59
salut
y'a quand même un point essentiel mal traité ....
ta fonction n'est pas parfaite, car un nom de domaine accepte jusqu'à 64 caractères, donc les adressses mails comme la mienne ou les spéciales de www.abcdefghijklmnopqrstuvwxyz.com ne marcheront pas ....
tkof Messages postés 35 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 31 janvier 2012
11 mars 2006 à 02:29
Je connais ce site, c'est le 1er site sur lequel j'ai surfer pr connaitre les regex...
Toutefois certains tests manquent, et n'etant pas fan des regex pr untraitement complet...
J'ai préféré traité le probleme en alliant aussi autre chose....

Si une personne arrive a appliquer tt les tests que je fais avec ma fonction ds des regex !
Je suis preneur...

Mais a ce stade, s'etait plus simple de le faire ainsi...


Le but de ce post est purement open source...
Aider d'autres utilisateurs... qui aurait eu les memes problemes que moi !
Et qui ne savent pas coder...
Car c'est simple de dire qu'il suffit de la modifier, mais tout le monde ne sait pas le faire !
Dc jai filer mon code :-)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 mars 2006 à 09:26
Re,

celle-ci n'est pas parfaite, mais tu peux t'en inspirer, elle fait déjà quasiment tout le boulot. Comme tu vas le voir, elle n'est pas très compliquée ni très longue. Quelques ajouts mineurs, et elle serait parfaite.
En plus, elle est facilement personnalisable! Ce qui peut être un avantage.
Elle est réalisée par un grand monsieur des expressions régulières en France.
http://www.expreg.com/voir1
tkof Messages postés 35 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 31 janvier 2012
10 mars 2006 à 08:51
malik7934 le 10/03/2006 08:09:50


Je vais répondre plus précisément sur vous@bbb.a.fr
On peux déduire que le site corespondant est "a.fr"
Hors il impossible de créé un nom de domaine avec une seul lettre !
Le minimum de letre pr un domaine est de 3 lettres !
Me demande pas pr koi c'est comme ça.... (ça par contre je ne sais pas)

Toutefois on trouve des eceptions avec des adresses de type vous@fr.st
Donc on arrive sur "deux lettres".
Enfin....


Sur les 25 000 mails que j'ai checker...
toutes les adresses de type vous@bbb.a.fr étaient réélement invalide....
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
10 mars 2006 à 08:45
Ok, j'avais pas pigé. Bah, suffit de rajouter "{2,}" dans l'ereg à l'avant dernière ligne, pis elle est belle!
tkof Messages postés 35 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 31 janvier 2012
10 mars 2006 à 08:36
Pr malalam le 10/03/2006 08:04:44

J'ai écumer toutes les sources présente sur votre site utilisant uniquement les expressions reguliere pour verifier un mail !!

Le résultalt est que sur une liste de 25 000 mails que j'ai testé...

Bcp d'entre eux ne sont pas reconnu !
Ou pire que ça, certains mails invalide passe comme etant valide !!!

Ce que j'entend par la, c'est que ma fonctions verifie des points que l'on ne trouve pas ds les expression reguliere...

Enfin voila...


Pr malik7934 le 10/03/2006 08:09:50

L'adresse vous@bbb.a.fr est invalide...
Par contre vous@bbb.aa.fr est valide !!

Ma fonction fait la différence entre les deux...



Sinon...


Je reconnais que c'est lourd, et que c'est beaucoup de ligne de code...
Mais qd on a bcp de mails a traiter et verifier, et que 250 mails valide sont rejeté... c'est pas terrible...
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
10 mars 2006 à 08:09
Hello,
"$email="vous@bbb.a.fr"; // Invalide 1 caratères impossible" .. ah bon! Il y a des tonnes d'adresses qui ont ce format :) J'en ai eu une déjà, c'est typique dans les entreprises.

Moi j'utilise ça:
function verifmail($email) {

return( ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]{2,}'.
'@'.
'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]{2,}\.'.
'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$',
$email) );
}
C'est sûrement plus rapide :) Ca fait exactement la même chose que ta fonction à part que ça accepte les vous@bbb.a.fr (exple: xxx.yyy@desun1.epfl.ch qui est une adresse typique de mon ancienne école)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 mars 2006 à 08:04
Hello TKOF,

il est 8h, et j'ai très peu dormi...je regarde ton script, et tes commentaires associés, et je suis quand même un peu étonné : quoi que tu en dises, ou en penses plutôt, ce script est faisable en 1 seule ligne, via les expressions régulières, oui.
Là, je l'ai dit, je suis crevé, je dois encore prendre ma douche avant de partir au boulot! Donc, je ne vais pas te pondre l'expression de suite. Avec un peu de chance, le temps que je revienne sur CS, quelqu'un te l'aura mise ici, histoire que tu aies enfin une expression régulière qui vérifie correctement les mails :-)
Si personne ne l'a fait, je m'en chargerai dans la matinée, où si j'ai la flemme, je t'en copierai une (parce que je sais exactement où en trouver une parfaite).
Et on supprimera ce code, parce que je t'assure, il ne sert à rien. En plus, tu utilises les expressions régulières dedans...et enfin, il y a quelques erreurs de bonne programmation (je te les montrerai après aussi, à la douche!).
tkof Messages postés 35 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 31 janvier 2012
10 mars 2006 à 05:59
Pour informations, j'ai checker 22 500 mails valide, ma fonction les a reconnu !!!

J'ai aussi essayer de taper "nimporte quoi" et faire les erreurs les plus classique, ma fonction a renvoyer faux !

Dc...
Tt semble marche !! ;-)
Rejoignez-nous