Vérifier email avec une regex javascript

Hello,

J'utilise la regex suivante pour vérifier la syntaxe des emails en javascript :

Code:
/^((\w+\+*\-*)+\.?)+@((\w+\+*\-*)+\.?)*[\w-]+\.[a-z]{2,6}$/i

( je ne suis pas l'auteur )

Le problème est qu'elle laisse passé ceci :

test.@test.com
et
test@.test.com

Est ce que quelqu'un aurait une regex javascript de verification d' email qui soit efficace ?
 
Validation d'adresse email conformément au spécification de la RFC 2822 : http://seebz.net/notes/?note_id=46
 
seebz a dit:
Validation d'adresse email conformément au spécification de la RFC 2822 : http://seebz.net/notes/?note_id=46

Merci.
Dans l'abolus ca serait la regex parfaite.

Seulement la norme officiel RFC 2822 autorise des symboles que quasi aucun webmail digne de ce nom n'autorise, par exemple :

Code:
!$./'@test.com est valide  :(

Mais bon merci ca donne une base je suis en train d'essayé de la modifier.
 
Sauf si elle est doublée côté serveur... Le mieux étant de le faire en ajax, tu fais les 2 en même temps comme ça ^^
 
Oui pis si j'ai payé ma mémé pour vérifier manuellement les inscription...

On parle de JS... Si tu le fais coté serveur, pas besoin de js.

Mai sinon, fais le pour tout.
Un test js, un test ajax, puis un test html ?, un test php, puis asp, puis python...
 
Je rejoins un peu l'avis de Ehplod, encore un js en plus (+) pour au final devoir le revérifier en PHP qui fait ça très bien avec filter_var.
 
Ehplod a dit:
Oui pis si j'ai payé ma mémé pour vérifier manuellement les inscription...

On parle de JS... Si tu le fais coté serveur, pas besoin de js.

Mai sinon, fais le pour tout.
Un test js, un test ajax, puis un test html ?, un test php, puis asp, puis python...
le js, ca permet d'eviter de perdre le contenu du formulaire aprés envoie et devoir tout resaisir... c'est donc surtout pour avertir les tetes en l'air, la verif coté serveur, mais pour ceux qui ont reussi a contourner le javascript ou bien qui l'on desactivé.
 
forummp3 a dit:
Ehplod> relis le topic avec le doigt
... et ?
J'ai relu 15x...

Un type veux faire un contôle d'adresse mail via un js.
blablabla...
Le js peut être désactivé par l'internaute.

Je relis encore ?
 
ben je n'ai jamais dis qu'il ne fallait pas utiliser php ...

js c'est pour le confort de ne pas recharger 10x la page si l'on fait 10 erreurs dans le formulaire (c'est un cas extreme, ne commence pas a me dire "blabla, ca arrive assez rarement, blabla, ca sert a rien), puis le php c'est pour la sécurité, car on peut desactiver le js.
 
Ehplod a dit:
Toute vérification sécuritaire en javascript est une absurdité...

Ca n'a rien à voir avec la question.


Ehplod a dit:
Oui pis si j'ai payé ma mémé pour vérifier manuellement les inscription...

On parle de JS... Si tu le fais coté serveur, pas besoin de js.

Mai sinon, fais le pour tout.
Un test js, un test ajax, puis un test html ?, un test php, puis asp, puis python...

C'est pour avertir la personne que je ne pourrais lui répondre AVANT l'envoi du formulaire, je sais bien que tu pars d'un bon sentiment mais encore une fois tu as tort, le js est très utile dans de nombreux cas, inutile de nous avertir que l'utilisateur lambda peut le désactiver sur son navigateur, on est est tous conscient et je le repete, ce n'est pas la question.



Julia41 a dit:
Je rejoins un peu l'avis de Ehplod, encore un js en plus (+) pour au final devoir le revérifier en PHP qui fait ça très bien avec filter_var.

Hello Julia41,

Petite parenthèse même si encore une fois je ne parlais pas de PHP, filter var est très très mauvais dans la filtrage des adresses emails, je t'invite à faire quelques tests et tu verra qu'on peut clairement pas lui faire confiance.


forummp3 a dit:
lc'est donc surtout pour avertir les tetes en l'air, la verif coté serveur, mais pour ceux qui ont reussi a contourner le javascript ou bien qui l'on desactivé.

100 % d'accord c'est parfaitement ca, tout est dit.
 
Julia41 a dit:
Je rejoins un peu l'avis de Ehplod, encore un js en plus (+) pour au final devoir le revérifier en PHP qui fait ça très bien avec filter_var.

Hello Julia41,

Petite parenthèse même si encore une fois je ne parlais pas de PHP, filter var est très très mauvais dans la filtrage des adresses emails, je t'invite à faire quelques tests et tu verra qu'on peut clairement pas lui faire confiance.[/quote]

Ca respecte scrupuleusement les RFC et c'est surtout bien plus performant que toute fonction maison.
 
Les spécification de la RFC 2822 ne reflete absolument pas l'utilisation courante de tout les webmails les plus connus. ( je ne sais pas pourquoi d'ailleurs si quelqu'un a une explication... )
Respecter rigoureusement les RFS dans la vérification d'emails est une très très mauvaise idée a mon humble avis car :

!$./'$#$%&'*+/=?^_`{|}~-\@test.com

est valide.
 
Quand tu est bloqué en prog, il faut alors te poser la question en français, puis la traduire dans ton language de prog.

Tu as ta regex:

/^((\w+\+*\-*)+\.?)+@((\w+\+*\-*)+\.?)*[\w-]+\.[a-z]{2,6}$/i

Ton probleme, c'est que tu ne veux pas de point devant ton arobase et aprés, c'est ça ?

et bien tu rajoute [[:alphanum:]]? juste devant ton arobase et derriere.

J'ai pas testé, mais normalement, ca devrait marché (a voir si [[:alphanum:]] marche avec js, en tout cas avec php ca marche).
 
Ehplod a dit:
OK, donc, c'est une vérif' contre les erreurs de frappe en quelque sorte...
Une erreur contre "les petites frappes" ...

plus serieusement tu en connais beaucoup qui désactivent le javascript sur leur navigateur ? Franchement, à l'ère du Web 2.0, il n'y a plus guère que les sites neu neu de base qui n'utilisent pas du tout de javascript ... :wink:
 
Je ne dis pas, mais c'est risqué de faire de la sécurisation en JS.

Mais finalement, ce n'était pas de la sécu dont Mich parlait.


Par contre, j'te le dis tout net, il y a des sites sur lesquel perso, je désactive, tellement ça met du temps à me laisser la main lorsque je surf dessus.
 
je ne connaissais pas, mais sympa cette fonction php.
Va falloir que je vérifie son fonctionnement, mais ça pourrait me permettre de bien simplifier mes scripts
ça a l'air, même, de pouvoir remplacer certaines options de htmlentities :D
 
Oui, j'ai découvert ca il y a peu et ca marche vraiment bien.

Apparement il y aurait quelque bug ( dixit les commentaires sur php.net ), je sais pas exactement quoi.

En tout cas la verification d'email est beaucoup plus fiable que les différents regex qui traine sur le net, certain email ne passe pas sur les regex alors qu'ils sont valide.

Et entre nous, franchement il était grand temps pour PHP d'avoir sa fonction officiel de vérification d'email.
 
oui, mais cette fonction semble bien plus puissance que la seule vérification d'email, car elle remplacerait htmlentities et, possiblement, les vérifications d'injection de codes...
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut