Nous allons passer directement à la réponse courte et nous nous occuperons ensuite de l'explication longue et compliquée.

Tout simplement non.

J'entends les développeurs et les avocats du diable qui remettent en question notre refus catégorique de l'utilisation de l'expression géographique. validation de l'e-mailCe qui nous amène à nous demander pourquoi elle existe.

Nous ne nions pas qu'il puisse s'agir d'un outil utile, et il s'agit certainement d'un petit kit astucieux pour empêcher les utilisateurs d'ajouter n'importe quel texte dans un formulaire ou un autre support exécutable. À un moment donné, la regex d'email avait son rôle à jouer dans la façon dont nous recueillons les données d'email.

Mais maintenant? En accord avec les technologies et les normes actuelles ?

Nous disons qu'il a fait son temps.

Si vous voulez vous assurer que vous obtenez des adresses électroniques propres qui ne vont pas perturber votre marketing par courrier électronique, vos taux de rebond, vos scores de délivrabilité et toutes les choses dont vous savez que vous avez besoin pour maintenir vos indicateurs élevés et vos conversions, alors le regex n'est pas la solution.

Qu'est-ce qu'un regex de validation d'email ?

Regex est l'abréviation d'expression régulière ; c'est un terme utilisé dans divers langages de codage. Le terme Regex, ou expressions régulières, désigne des chaînes de texte codées conçues pour correspondre à des motifs trouvés dans d'autres chaînes.

Ils peuvent s'avérer très pratiques lorsqu'un utilisateur doit faire correspondre une chaîne de caractères à un type de motif particulier pour vérifier que les informations fournies semblent correctes. Pensez aux numéros de téléphone, aux codes postaux, aux dates et, bien sûr, à l'élément le plus important qui nous préoccupe : les adresses électroniques.

Avec un motif simple, une chaîne de caractères exacte peut être mise en correspondance avec un ensemble de règles. Lorsque les motifs simples deviennent plus compliqués, l'expression rationnelle devient moins efficace et plus susceptible de donner de mauvais résultats.

Cela semble bon jusqu'à présent - alors, quel est le problème avec la validation des emails par regex ?

Aussi pratique que soit l'outil regex, il ne couvre pas les vérifications dont vous avez besoin. Jetez un coup d'oeil à ceux-ci :

[email protected]
[email protected]
[email protected]
[email protected]

Supposons que vous repériez l'un des éléments ci-dessus comme ajout à votre liste d'adresses électroniques ; vous les signaleriez immédiatement (ou vous le devriez !). Vous ne croiriez pas qu'il s'agit d'entrées valides de personnes réelles montrant un intérêt pour vos produits et services.

La validation des emails par Regex le ferait, cependant. Ça les laisserait tous passer.

Pourquoi ? Parce que ces adresses manifestement fausses suivent quand même les modèles que ses règles visent à confirmer.

Ça n'a pas l'air si intelligent maintenant, n'est-ce pas ?

C'est trop restrictif

Bien que les exemples précédents nous paraissent manifestement faux, certains formats de courrier électronique comportent beaucoup plus de caractères spéciaux que ce que nous avons l'habitude de voir.

Dans sa forme la plus simple, une adresse électronique suit le format suivant :

nom d'[email protected]

Les adresses électroniques sont construites en trois sections :

  • La partie locale - généralement un nom d'utilisateur ou un rôle professionnel
  • Le caractère @
  • Le domaine, y compris un TLD (Top Level Domain) valide.

Si c'était tout ce que le code devait rechercher, alors une vérification regex typique en javascript empêcherait de nombreux mauvais contacts de se retrouver dans nos listes.

En général, nos adresses électroniques peuvent inclure les caractères suivants :

  • Chiffres : 0 à 9
  • Lettres minuscules et majuscules : de a à z et de A à Z
  • Caractères spéciaux supplémentaires : !#$%&'*+-/=?^_`{|}~
  • Le caractère point [.] : mais pas comme premier ou dernier caractère, ni utilisé consécutivement.

Si quelqu'un s'inscrivait à votre liste de diffusion avec l'un ou l'autre de ces caractères spéciaux, la plupart d'entre nous se demanderaient si quelque chose ne va pas, et nous aurions tort - ils sont tous autorisés par la convention actuelle.

Regex ne vérifie rien d'autre que la syntaxe.

Les développeurs ne s'intéressent peut-être qu'à l'obtention d'adresses d'apparence valide via un formulaire, mais ce n'est pas notre cas. Nous avons besoin de savoir :

  • Le domaine existe-t-il ?
  • Existe-t-il un enregistrement MX prouvant que le domaine a un serveur de messagerie ?
  • L'adresse de courriel a-t-elle un compte de courriel fonctionnel ?

Toutes ces questions qui obtiennent un "non" obtiendront un "non" catégorique de notre part, en tant que spécialistes du marketing. Regex ne vérifie rien de tout cela - seul un outil de validation d'email dédié peut faire apparaître ces drapeaux rouges.

Il ne repère pas les adresses temporaires et jetables.

En tant que spécialistes du marketing par e-mail, nous savons pertinemment que de nombreux utilisateurs créent de faux comptes temporaires pour profiter d'une offre, d'une promotion ou d'une autre situation. C'est un moyen facile d'éviter d'encombrer leurs comptes de messagerie existants ou de divulguer des informations personnelles qu'ils ne souhaitent pas.

Il est facile de créer une adresse électronique temporaire ou jetable comme solution ponctuelle. Ces adresses disparaissent souvent dans les 10 ou 15 minutes qui suivent leur création, ce qui les rend extrêmement utiles.
Regex ne les vérifie pas. Les adresses électroniques temporaires et jetables passent tous les tests de validation Regex.

Comment mettre en place un javascript de regex d'email ?

Si vous êtes un touche-à-tout développeurVous n'aurez probablement pas besoin de notre connaissance de base du sujet pour vous dire comment faire, mais pour ceux d'entre vous qui ont une certaine expérience du codage, cela devrait ressembler à quelque chose comme ceci :

fonction ValidateEmail(inputText)

{

var mailformat = [a-z0-9!#$%&’*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&’*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

if(inputText.value.match(mailformat))

{

alert("Ce n'est pas une adresse électronique valide") ;

renvoyer la fausse ;

}

}

La partie qui fait le gros du travail est le var mailformat ligne. L'exécution et les caractères de cette longue ligne de code définissent ce qui est autorisé et ce qui ne l'est pas.

Tu peux repérer les choses simples : a-z, A-Z, 0-9et ensuite les caractères spéciaux dans la première section locale. Le site [email protected] indique ensuite le séparateur local et le séparateur de domaine. Après le @, nous avons un autre ensemble d'instructions sur ce qui est autorisé pour la section du domaine.

Si vous souhaitez avoir un aperçu plus approfondi de ce qu'il faut pour mettre en œuvre un validateur regex, rendez-vous sur abstract. Ils ont un très bon guide sur ce qu'il faut faire et sont des experts en ce qui concerne toutes sortes d'outils de validation. API ajouts et inclusions.

Si un travail vaut la peine d'être fait, il vaut la peine d'être bien fait, alors validez vos listes de la meilleure façon possible.

Il n'y a qu'un seul moyen de s'assurer que vos listes d'adresses électroniques sont dans les meilleures conditions, et c'est d'utiliser un outil de validation d'adresses électroniques dédié, tel que Videur.

La validation Regex peut laisser entrer de fausses adresses électroniques dans vos listes de diffusion et bloquer les adresses valides. Lorsqu'il s'agit d'ajouter une méthode d'authentification à vos formulaires en ligne ou à vos méthodes de collecte de données, nous vous suggérons d'autres formes de validation plus robustes.

En fin de compte, l'exploitation de vos listes d'adresses électroniques par une plateforme telle que Videur est de loin la meilleure façon de garder vos listes propres et saines, vos taux de rebond bas, votre délivrabilité élevée, et votre score de l'expéditeur en pleine forme.

Pour une vérification approfondie de l'e-mail, optez pour Bouncer.