Vi vil springe direkte til det korte svar og tage os af den lange forklaring bagefter.

Ganske enkelt - nej.

Jeg kan høre udviklerne og djævleadvokaterne derude sætte spørgsmålstegn ved vores ublide benægtelse af regex-validering af e-mails, hvilket så giver anledning til yderligere spørgsmål om, hvorfor det overhovedet eksisterer.

Vi vil ikke benægte, at det kan være et nyttigt værktøj, og det er bestemt et smart lille stykke værktøj, der forhindrer brugere i at tilføje en hvilken som helst tekst i en formular eller et andet eksekverbart medie. På et tidspunkt havde e-mail regex sin rolle at spille i den måde, vi indsamler e-maildata på.

Men nu? I overensstemmelse med den nuværende teknologi og standarder?

Vi siger, at den har haft sin tid.

Hvis du vil sikre dig, at du får rene e-mailadresser, der ikke forstyrrer din e-mailmarkedsføring, dine afvisningsrater, leveringsmuligheder og alle de ting, som du ved, at du har brug for for at holde dine målinger høje og dine konverteringer i gang, så er regex ikke vejen frem.

Hvad er e-mail-valideringsregex?

Regex er en forkortelse for regulære udtryk; det er et udtryk, der bruges i forskellige programmeringssprog. Regex, eller regulære udtryk, henviser til kodede tekststrenge, der er designet til at matche mønstre, der findes i andre strenge.

De kan være meget praktiske, når en bruger skal matche en tegnstreng med en bestemt type mønster for at kontrollere, at de angivne oplysninger er korrekte. Tænk på telefonnumre, postnumre, datoer og ja, det store problem, som vi beskæftiger os med - e-mailadresser.

Med et simpelt mønster kan en nøjagtig streng matches med et sæt regler. Når enkle mønstre bliver mere komplicerede, bliver regex mindre effektivt og giver sandsynligvis dårlige resultater.

Det lyder godt indtil videre - så hvad er problemet med regex-e-mailvalidering?

Selv om regex er et smart værktøj, dækker det ikke alle de kontroller, du har brug for. Tag et kig på disse:

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

Lad os sige, at du ser en af ovenstående som en tilføjelse til din e-mail-liste; du ville markere dem med det samme (eller du burde!). Du ville ikke tro, at nogen af dem var gyldige tilmeldinger fra rigtige mennesker, der viser interesse for dit produkt og din tjeneste.

Regex e-mailvalidering ville dog gøre det. Den ville lukke dem alle igennem.

Hvorfor? Fordi disse tydeligvis falske adresser stadig følger de mønstre, som reglerne er fastsat for at bekræfte.

Det ser ikke helt så smart ud nu, vel?

Det er for restriktivt

Selv om de foregående eksempler ser så tydeligvis forkerte ud, indeholder nogle e-mailformater langt flere specialtegn, end vi er vant til at se.

I sin enkleste form har en e-mail-adresse følgende format:

brugernavn@domæne

E-mail-adresser er opbygget i tre dele:

  • Den lokale del - typisk et brugernavn eller en jobrolle
  • @-tegnet
  • Domænet, herunder et gyldigt TLD (Top Level Domain)

Hvis det var alt, hvad koden skulle kigge efter, ville en typisk javascript-regexkontrol forhindre, at mange dårlige kontakter endte på vores lister.

Typisk kan vores e-mailadresser indeholde følgende tegn:

  • Cifre: 0 til 9
  • Små bogstaver og store bogstaver: a til z og A til Z
  • Yderligere specialtegn: !#$%%&'*+-/-/=?^_`{|}~
  • Punkttegnet [.]: Men ikke som det første eller sidste tegn, eller brugt i træk

Hvis en person tilmelder sig din e-mail-liste med et eller flere af disse specialtegn, ville de fleste af os spørge, om der er noget galt, og det ville være forkert - de er alle tilladt i henhold til den nuværende konvention.

Regex kontrollerer ikke andet end syntaks

Udviklere er måske kun interesseret i at få gyldigt udseende adresser gennem en formular, men det er vi ikke. Vi har brug for at vide det:

  • Eksisterer domænet?
  • Er der en MX-post, der viser, at domænet har en mailserver?
  • Har e-mail-adressen en fungerende e-mail-konto?

Ethvert af disse spørgsmål, der giver et "nej", vil også få et hårdt "nej" fra os som marketingfolk. Regex kontrollerer ikke noget af dette - kun et dedikeret værktøj til validering af e-mail vil kunne finde sådanne røde flag.

Den ser ikke midlertidige og engangsadresser

Som e-mailmarkedsførere er vi også mere end klar over, at mange brugere opretter falske midlertidige konti for at udnytte et tilbud, en kampagne eller en anden situation. Det er en nem måde at undgå at tilføje rod til deres eksisterende e-mail-konti eller at give oplysninger om sig selv, som de ikke ønsker at give væk.

Det er nemt at oprette en midlertidig eller engangs-e-mailadresse som en engangs-løsning. Disse adresser forsvinder ofte inden for 10 eller 15 minutter efter, at de er oprettet, hvilket gør dem utroligt velegnede til formålet.
Regex kontrollerer ikke for disse. Midlertidige og engangs e-mailadresser består alle regex-valideringstests.

Hvordan opretter du et javascript med regex for e-mail?

Hvis du er en dygtig udvikler, har du sandsynligvis ikke brug for vores grundlæggende forståelse af emnet for at fortælle dig hvordan, men for dem af jer med en vis erfaring med kodning bør det se nogenlunde sådan her ud:

funktion 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("Dette er ikke en gyldig e-mail-adresse");

returnere falsk;

}

}

Den del, der gør alt det tunge arbejde, er den var mailformat linje. Udførelsen og tegnene i denne lange kodelinje definerer, hvad der er tilladt, og hvad der ikke er tilladt.

Du kan se de enkle ting: a-z, A-Z, 0-9, og derefter de særlige tegn i den første, lokale sektion. +@ dikterer derefter den lokale og domæneseparator. Efter @ har vi så endnu en række instruktioner om, hvad der er tilladt i domæneafsnittet.

Hvis du vil have et meget dybere indblik i, hvad der skal til for at implementere en regex-validator, kan du gå til abstract. De har en rigtig god guide til præcis hvad der skal til, og de er eksperter når det kommer til alle former for API-tilføjelser og -inklusioner.

Hvis et arbejde er værd at udføre, er det værd at udføre godt - så validér dine lister på den bedst mulige måde

Der er kun én måde at sikre, at dine e-maillister er i topkvalitet, og det er ved at bruge et dedikeret e-mail-valideringsværktøj - som f.eks. Udsmider.

Regex-validering kan være ansvarlig for at lade falske e-mail-adresser komme ind på dine e-maillister og blokere gyldige e-mail-adresser. Når det drejer sig om at tilføje en godkendelsesmetode til dine onlineformularer eller dataindsamlingsmetoder, foreslår vi andre, mere robuste valideringsformer.

I sidste ende er det at køre dine e-mail-lister gennem en platform som Bouncer langt den bedste måde at holde dine lister rene og sunde, dine afvisningsrater nede, din leveringsegnethed høj og din afsender score i topform.

FAQ om regex til e-mailbeskeder

Hvad er en simpel regex til e-mailvalidering?

En simpel regex (regulært udtryk) til e-mailvalidering er en sekvens af tegn, der definerer et søgemønster for e-mailadresser. Det kan bruges til at tjekke, om en streng matcher standardformatet for en e-mailadresse. Det er dog vigtigt at bemærke, at et simpelt regex måske ikke fanger alle ugyldige e-mailadresser og måske tillader nogle ikke-standardiserede e-mailformater at passere igennem.

Hvordan hjælper e-mail regex med at filtrere ugyldige e-mailadresser fra?

Email regex bruges til at matche inputstrengen (den e-mailadresse, som en bruger har indtastet) med et bestemt format. Hvis e-mailadressen ikke matcher dette format, betragtes den som ugyldig. Dette kan hjælpe med at forhindre slåfejl, sikre datakonsistens og beskytte mod visse typer injektionsangreb.

Hvad er et whitespace-tegn i forbindelse med regex i e-mails?

Et whitespace-tegn i e-mail-regex henviser til ethvert tegn, der bruges til at repræsentere tomme pladser, som mellemrum, tabulatorer eller linjeskift. I forbindelse med e-mailadresser er whitespace-tegn typisk ikke tilladt, og deres tilstedeværelse ville gøre en e-mailadresse ugyldig.

Hvad er en kompleks e-mail-regex?

En kompleks e-mail regex er et mere detaljeret og præcist regulært udtryk, der bruges til e-mailvalidering. Det kan tage højde for forskellige aspekter af e-mailadresser, såsom domænenavne, ikke-latinske tegn og specifikke regler for, hvor visse tegn kan optræde. Selvom det giver en mere grundig validering, kan det også være mere udfordrende at implementere og vedligeholde.

Hvordan håndterer e-mail regex ikke-latinske tegn og Unicode?

Håndtering af ikke-latinske tegn og Unicode i e-mail regex kan være komplekst. Nogle e-mailsystemer tillader Unicode eller ikke-latinske e-mailadresser, men de understøttes ikke universelt. En kompleks e-mail regex kan indeholde tegnklasser til at matche ikke-latinske tegn, men det er vigtigt at forstå de specifikke krav og begrænsninger i det e-mailsystem, du arbejder med.

Hvilken rolle spiller tegnklasser i e-mail-regex?

Tegnklasser i e-mail regex definerer et sæt tegn, der kan matche ethvert enkelt tegn i inputstrengen. For eksempel matcher tegnklassen [a-z] alle små bogstaver på engelsk. Tegnklasser kan bruges til at angive gyldige tegn for forskellige dele af en e-mailadresse.

Hvad er begrænsningerne ved e-mail regex til e-mailvalidering?

Selvom e-mail regex kan fange mange almindelige fejl i e-mailadresser, er det ikke en komplet valideringsmetode. Nogle ugyldige adresser kan stadig passere et regex-tjek, og nogle gyldige adresser kan fejle, især hvis de bruger mindre almindelige formater eller tegn. For grundig e-mailvalidering anbefales det ofte at bruge e-mailvalideringstjenester eller at sende en bekræftelsesmail til den indtastede adresse.

Gå til dybdegående e-mailbekræftelse, gå til Bouncer