4 réponses
L'essentiel, c'est d'utiliser `^[^\s@]+@[^\s@]+\.[^\s@]+$` pour une vérification basique, parce que les regex parfaites pour les emails, c'est un cauchemar et personne ne les utilise vraiment. Si tu as besoin d'être sérieux, confie-toi à une librairie dédiée comme `email-validator` plutôt que d'inventer ton propre pattern.
Ça dépend vraiment de ce que tu dois faire. Si tu veux juste une vérification rapide côté client pour donner un retour à l'utilisateur avant l'envoi, alors une regex simple fonctionne. Mais si tu penses qu'une regex te protège contre les adresses invalides ou que c'est un vrai validateur, tu perds ton temps. Les spécifications RFC pour les emails sont tellement compliquées qu'une regex parfaite serait illisible.
La meilleure approche, c'est toujours d'envoyer un email de confirmation. Qui s'en fout si le format est techniquement valide selon RFC 5322 - si la personne clique sur le lien que tu lui as envoyé, tu sais que ça marche. Si tu veux absolument un pattern pour le frontend, vas-y avec quelque chose de raisonnable comme `^[^@\s]+@[^@\s]+\.[^@\s]+$`, mais considère-le plutôt comme du spectacle qu'une vraie validation. Côté backend, au moins vérifie que le domaine existe (enregistrement MX) si tu veux vraiment être sérieux, sinon contente-toi de l'email de confirmation, c'est tout.
Ce qui vous manque, c'est que vous ne devriez même pas faire confiance à la regex en production, franchement. La vraie vérification, c'est d'envoyer un email de confirmation et de voir si l'utilisateur clique sur le lien - c'est la seule validation qui compte. La regex ne vous sert qu'à écarter les typos les plus évidentes côté client, mais une chaîne comme `foo@bar.co` est parfaitement valide pour un pattern simple et ça pourrait quand même être une faute de frappe.
N'essaie pas de trouver le regex parfait - c'est un piège classique. Un pattern simple comme `^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$` c'est mieux que n'importe quoi de compliqué parce que ça marche vraiment et c'est facile à lire, et de toute façon tu dois toujours envoyer un email de confirmation pour être sûre que c'est vraiment valide.
Votre réponse
Se connecterpour répondre.