Hüppame kohe lühikese vastuse juurde ja tegeleme pikema seletusega pärast seda.

Lihtsalt - ei.

Ma kuulen, kuidas arendajad ja kuradi advokaadid seavad kahtluse alla meie regexi tümpsuvat eitamist e-posti valideerimine, mis tekitab omakorda küsimuse, miks see üldse olemas on.

Noh, me ei eita, et see võib olla kasulik vahend, ja kindlasti on see nutikas pisik, mis takistab kasutajatel lisamast mis tahes vana teksti vormi või muule täidetavale andmekandjale. Ühel hetkel oli e-posti regexil oma osa selles, kuidas me e-posti andmeid kogume.

Aga nüüd? Kooskõlas praeguse tehnoloogia ja standarditega?

Me ütleme, et see on oma aja ära elanud.

Kui soovite tagada, et saate puhtad e-posti aadressid mis ei sega teie e-posti turundust, teie tagasilöögimäärasid, kättetoimetamise tulemusi ja kõiki neid asju, mida te teate, et hoida oma näitajad kõrgel ja konversioonid jooksvalt, siis ei ole regex see õige viis.

Mis on e-posti valideerimise regex?

Regex on lühend regulaaravaldisest; see on termin, mida kasutatakse erinevates kodeerimiskeeltes. Regex ehk regulaaravaldised viitavad kodeeritud tekstisõnadele, mis on mõeldud teistes sõnades leiduvate mustrite sobitamiseks.

Need võivad olla üsna kasulikud, kui kasutajal on vaja sobitada tähemärkide jada teatavat tüüpi mustriga, et kontrollida, kas esitatud teave on õige. Mõelge telefoninumbritele, sihtnumbritele, kuupäevadele ja jah, suurele, millega me tegeleme - e-posti aadressidele.

Lihtsa mustri abil saab täpse stringi sobitada reeglistikuga. Kui lihtsad mustrid muutuvad keerulisemaks, muutub regex vähem tõhusaks ja annab suurema tõenäosusega halbu tulemusi.

Siiani kõlab see hästi - mis on siis regexi e-posti valideerimisega seotud probleem?

Nii nutikas tööriist kui regex ongi, ei hõlma see vajalikke kontrolle. Vaadake neid:

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

Oletame, et märkate mõne ülalnimetatuist oma meililisti lisana; te märgiksite need kohe ära (või peaksite seda tegema!). Te ei usuks, et mõni neist on tõeliste inimeste poolt tehtud kehtiv kanne, mis näitab huvi teie toote ja teenuse vastu.

Regex e-posti valideerimine oleks, kuigi. See laseks need kõik läbi.

Miks? Sest need ilmselgelt võltsitud aadressid järgivad ikkagi selle reegleid, mille kinnitamiseks on kehtestatud reeglid.

See ei tundu nüüd enam päris nii nutikas, eks ole?

See on liiga piirav

Hoolimata sellest, et need eelmised näited tunduvad meile nii ilmselgelt valed, sisaldavad mõned e-posti vormingud palju rohkem erimärke, kui me oleme harjunud nägema.

Kõige lihtsamal kujul ja e-posti aadress järgib järgmist vormi:

[email protected]

E-posti aadressid on konstrueeritud kolmest osast:

  • Kohalik osa - tavaliselt kasutajanimi või tööülesanne
  • Tähemärk @
  • Domeen, sealhulgas kehtiv tippdomeen (Top Level Domain)

Kui see oleks kõik, mida kood pidi otsima, siis tavaline javascript regex kontroll hoiaks ära hulga halbade kontaktide sattumise meie nimekirjadesse.

Tavaliselt võivad meie e-posti aadressid sisaldada järgmisi sümboleid:

  • Numbrid: 0 kuni 9
  • Väikesed ja suured tähed: a-st z-ni ja A-st Z-ni
  • Täiendavad erimärgid: !#$%&'*+-/-/=?^_`{|}~
  • Punktimärk [.]: Kuid mitte esimese või lõpumärgina või järjestikku kasutatavana

Kui keegi kandideeriks teie meililisti mõne või mitme sellise erimärgiga, küsiks enamik meist, kas midagi on valesti, ja me eksiksime - need kõik on praeguse konventsiooni kohaselt lubatud.

Regex ei kontrolli midagi muud peale süntaksi

Arendajad võivad olla mures ainult selle pärast, et saada vormi kaudu kehtiva välimusega aadressid, kuid meie ei ole seda. Me peame teadma:

  • Kas domeen on olemas?
  • Kas on olemas MX-kirje, mis tõestab, et domeenil on postiserver?
  • Kas meiliaadressil on toimiv e-posti konto?

Kõik need küsimused, mis saavad "ei", saavad ka meilt kui turundajatelt kõva "ei". Regex ei kontrolli midagi sellist - ainult spetsiaalne e-posti valideerimisvahend tõmbab sellised punased lipud välja.

See ei tuvasta ajutisi ja ühekordselt kasutatavaid aadresse.

Meiliturundajatena oleme rohkem kui teadlikud sellest, et paljud kasutajad loovad võltsitud ajutisi kontosid, et saada kasu pakkumisest, kampaaniast või muust olukorrast. See on lihtne viis, kuidas vältida oma olemasolevatele e-posti kontodele segaduse lisamist või enda kohta teabe andmist, mida nad ei soovi.

Ajutise või ühekordselt kasutatava e-posti aadressi seadistamine on lihtne ühekordse lahendusena. Need aadressid kaovad sageli 10 või 15 minuti jooksul pärast nende loomist, mistõttu on need uskumatult sobivad.
Regex ei kontrolli neid. Ajutised ja ühekordsed e-posti aadressid läbivad kõik regexi valideerimise testid.

Kuidas seadistada e-posti regex javascript?

Kui sa oled osav inimene arendaja, ei ole teil ilmselt vaja meie põhitõdesid, et öelda teile, kuidas, kuid neile, kellel on mõningane kogemus kodeerimises, peaks see välja nägema umbes nii:

funktsioon 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("See ei ole kehtiv e-posti aadress");

tagasi false;

}

}

Osa, mis teeb kogu rasket tööd, on var mailformat rida. Selle pika koodirea täitmine ja tähemärgid määravad, mis on lubatud ja mis mitte.

Sa oskad märgata lihtsaid asju: a-z, A-Z, 0-9ja seejärel erimärgid esimeses, kohalikus osas. [email protected] dikteerib seejärel kohaliku ja domeeni eraldaja. Pärast @ on meil siis veel üks rida juhiseid selle kohta, mis on lubatud domeenilõikes.

Kui soovite palju sügavamat ülevaadet sellest, mida on vaja regexi valideerija rakendamiseks, siis suunduge abstraktsele veebilehele. Neil on väga hea juhend täpselt, mida see nõuab, ja nad on eksperdid, kui tegemist on igasuguste API täiendused ja lisandid.

Kui töö on seda väärt, et seda teha, siis tasub seda ka hästi teha - seega valideerige oma nimekirjad parimal võimalikul viisil.

On ainult üks viis, kuidas veenduda, et teie e-posti nimekirjad on parimas seisukorras, ja see on kasutada spetsiaalset e-posti valideerimise tööriista, nagu näiteks Põrgutaja.

Regexi valideerimine võib olla vastutav selle eest, et teie e-posti nimekirjadesse satuvad võltsitud e-posti aadressid, aga ka selle eest, et kehtivad aadressid blokeeritakse. Kui tegemist on autentimismeetodi lisamisega teie veebivormidele või andmekogumismeetoditele, soovitame muid, tugevamaid valideerimisviise.

Lõppkokkuvõttes töötab teie e-posti nimekirjad läbi platvormi nagu Põrgutaja on vaieldamatult parim viis hoida oma nimekirjad puhtad ja terved, oma tagasilöögimäära madalal, oma kättetoimetatavuse kõrgel tasemel ja oma saatja skoor tipp-topp vormis.

LOE LISAKS
Tehinguline e-kiri: Lõplik juhend

Minge põhjaliku e-posti kontrollimiseks, minge Bouncer'ile