VERIFICATION DE LA VALIDITÉ D'UNE ADRESSE E-MAIL (PLUS DE 14 TESTS) 100% WORKIN
tkof
Messages postés35Date d'inscriptionvendredi 10 mars 2006StatutMembreDernière intervention31 janvier 2012
-
10 mars 2006 à 05:59
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 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.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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és130Date d'inscriptionlundi 12 décembre 2005StatutMembreDernière intervention19 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és331Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention10 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és35Date d'inscriptionvendredi 10 mars 2006StatutMembreDernière intervention31 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és10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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és35Date d'inscriptionvendredi 10 mars 2006StatutMembreDernière intervention31 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és1154Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention15 août 200917 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és35Date d'inscriptionvendredi 10 mars 2006StatutMembreDernière intervention31 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és1154Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention15 août 200917 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és10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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és35Date d'inscriptionvendredi 10 mars 2006StatutMembreDernière intervention31 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 !
11 mars 2006 à 08:59
11 mars 2006 à 08:48
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 ^^
11 mars 2006 à 05:59
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 ....
11 mars 2006 à 02:29
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 :-)
10 mars 2006 à 09:26
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
10 mars 2006 à 08:51
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....
10 mars 2006 à 08:45
10 mars 2006 à 08:36
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...
10 mars 2006 à 08:09
"$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)
10 mars 2006 à 08:04
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!).
10 mars 2006 à 05:59
J'ai aussi essayer de taper "nimporte quoi" et faire les erreurs les plus classique, ma fonction a renvoyer faux !
Dc...
Tt semble marche !! ;-)