Prešli bomo naravnost k kratkemu odgovoru in se nato posvetili dolgovezni razlagi.

Preprosto - ne.

Slišim razvijalce in zagovornike hudiča, ki se sprašujejo o našem grobem zanikanju potrjevanja e-pošte z regexom, kar sproži nadaljnje vprašanje, zakaj sploh obstaja.

Ne bomo zanikali, da je to lahko uporabno orodje, in vsekakor gre za pameten pripomoček, ki uporabnikom preprečuje, da bi v obrazec ali drug izvedljiv medij dodali katero koli staro besedilo. Na neki točki je imel regex za elektronsko pošto svojo vlogo pri zbiranju podatkov o elektronski pošti.

A zdaj? V skladu s sedanjo tehnologijo in standardi?

Mi pravimo, da je že zdavnaj prišel na vrsto.

Če želite zagotoviti pridobivanje čistih e-poštnih naslovov, ki ne bodo vplivali na vaše e-poštno trženje, stopnjo odboja, rezultate dostavljivosti in vse druge stvari, za katere veste, da jih potrebujete za ohranjanje visokih metrik in konverzije, potem regeks ni pravi način.

Kaj je regex za preverjanje e-pošte?

Regex je kratica za regularni izraz, ki se uporablja v različnih jezikih kodiranja. Regex ali regularni izrazi se nanašajo na kodirane besedilne nize, namenjene ujemanju vzorcev, ki jih najdemo v drugih nizih.

Ti so lahko zelo priročni, kadar mora uporabnik niz znakov uskladiti z določeno vrsto vzorca in preveriti, ali so predložene informacije pravilne. Upoštevajte telefonske številke, oznake ZIP, datume in, da, najpomembnejše, kar nas zanima - e-poštne naslove.

S preprostim vzorcem lahko natančen niz ujemate z nizom pravil. Ko preprosti vzorci postanejo bolj zapleteni, postane regex manj učinkovit in bolj verjetno, da bo dal slabe rezultate.

Zaenkrat se sliši dobro - kakšna je torej težava pri potrjevanju e-pošte z regexom?

Čeprav je regex še tako priročno orodje, ne zajema vseh potrebnih preverjanj. Oglejte si te:

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

Recimo, da bi katerega od zgoraj naštetih opazili kot dodatnega člana svojega e-poštnega seznama; takoj bi ga označili (ali pa bi ga morali!). Ne bi verjeli, da je katera od njih veljavna prijava resničnih ljudi, ki kažejo zanimanje za vaš izdelek in storitev.

Regex potrditev e-pošte pa bi lahko. Prepustil bi jih vse.

Zakaj? Ker ti očitno lažni naslovi še vedno sledijo vzorcem, ki jih potrjujejo njegova pravila.

Zdaj ni videti tako pametno, kajne?

Je preveč omejujoča

Kljub temu da se nam zdijo prejšnji primeri tako očitno napačni, nekateri formati e-pošte vključujejo veliko več posebnih znakov, kot smo jih vajeni.

Elektronski naslov ima v najpreprostejši obliki naslednjo obliko:

uporabniško ime@domena

Elektronski naslovi so sestavljeni iz treh delov:

  • Lokalni del - običajno uporabniško ime ali delovna vloga.
  • Znak @
  • Domena, vključno z veljavno domeno najvišje ravni (TLD).

Če bi bila koda pozorna le na to, bi z običajnim preverjanjem regexa v javascriptu preprečila, da bi se na naših seznamih znašlo veliko slabih stikov.

Naši e-poštni naslovi lahko običajno vsebujejo naslednje znake:

  • Številke: 0 do 9
  • Male in velike črke: od a do z in od A do Z
  • Dodatni posebni znaki: !#$%&'*+-/=?^_`{|}~
  • Znak pike [.]: Znak pike: vendar ne kot prvi ali zadnji znak ali uporabljen zaporedno

Če bi se nekdo prijavil na vaš e-poštni seznam s katerim koli ali več temi posebnimi znaki, bi se nas večina vprašala, ali je kaj narobe, a bi se motili - vsi so dovoljeni v skladu s sedanjo konvencijo.

Regex ne preverja ničesar razen sintakse

Razvijalce morda zanima le to, da prek obrazca dobijo veljavne naslove, nas pa ne. Vedeti moramo:

  • Ali domena obstaja?
  • Ali obstaja zapis MX, ki dokazuje, da ima domena poštni strežnik?
  • Ali ima e-poštni naslov delujoč e-poštni račun?

Vsako od teh vprašanj, ki bo dobilo odgovor "ne", bo tudi pri nas kot tržnikih dobilo trd "ne". Regex ne preverja ničesar od tega - le namensko orodje za preverjanje e-pošte bo odkrilo takšne rdeče zastavice.

Ne zazna začasnih naslovov in naslovov za enkratno uporabo.

Kot tržniki e-pošte se zavedamo, da veliko uporabnikov ustvari lažne začasne račune, da bi izkoristili ponudbo, promocijo ali drugo situacijo. To je enostaven način, da se izognejo neredu v svojih obstoječih e-poštnih računih ali razkrivanju informacij o sebi, ki jih ne želijo.

Začasni e-poštni naslov ali e-poštni naslov za enkratno uporabo lahko preprosto nastavite kot enkratno rešitev. Ti naslovi pogosto izginejo v 10 ali 15 minutah po vzpostavitvi, zato so izjemno primerni za uporabo.
Regex jih ne bo preveril. Začasni e-poštni naslovi in e-poštni naslovi za enkratno uporabo prestanejo vse teste preverjanja regexa.

Kako bi nastavili javascript za e-poštni regex?

Če ste vešči razvijalec, najbrž ne boste potrebovali našega osnovnega razumevanja teme, da bi vam povedali, kako to storiti, za tiste z nekaj izkušnjami s kodiranjem pa bi moralo biti videti nekako takole:

funkcija 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("To ni veljaven e-poštni naslov");

vrnite false;

}

}

Del, ki opravlja težke naloge, je var mailformat linija. Izvajanje in znaki v tej dolgi vrstici kode določajo, kaj je dovoljeno in kaj ne.

Opazite preproste stvari: a-z, A-Z, 0-9, nato pa še posebne znake v prvem, lokalnem razdelku. +@ nato določa lokalni in domenski ločilnik. Po @ sledi še en niz navodil o tem, kaj je dovoljeno v domenskem razdelku.

Če želite veliko globlji vpogled v to, kaj je potrebno za implementacijo validatorja regexa, obiščite spletno mesto abstract. Pripravili so res dober vodnik, v katerem natančno opisujejo, kaj je potrebno, in so strokovnjaki za vse vrste dodatkov in vključitev API.

Če je delo vredno opraviti, ga je vredno opraviti dobro, zato potrdite svoje sezname na najboljši možni način.

Samo na en način lahko zagotovite, da so vaši seznami e-pošte v vrhunskem stanju, in sicer tako, da uporabite namensko orodje za potrjevanje e-pošte, kot je Izbijač.

Zaradi potrjevanja regeksov lahko na sezname e-poštnih naslovov uvrstite lažne e-poštne naslove in blokirate veljavne naslove. Pri dodajanju metode preverjanja pristnosti v spletne obrazce ali metode zbiranja podatkov predlagamo druge, bolj zanesljive oblike preverjanja.

Konec koncev je vodenje seznamov e-pošte prek platforme, kot je Bouncer, daleč najboljši način za ohranjanje čistih in zdravih seznamov, nižje stopnje odbojev, visoke dostavljivosti in vrhunske ocene pošiljatelja.

Pogosta vprašanja o regexu e-poštnih sporočil

Kaj je preprost regex za preverjanje e-pošte?

Preprost regex (regularni izraz) za preverjanje e-pošte je zaporedje znakov, ki določa vzorec za iskanje e-poštnih naslovov. Z njim lahko preverite, ali se niz ujema s standardno obliko e-poštnega naslova. Vendar je treba upoštevati, da preprost regex morda ne bo ujel vseh neveljavnih e-poštnih naslovov in bo morda omogočil prehod nekaterih nestandardnih oblik e-poštnih naslovov.

Kako regex e-pošte pomaga pri filtriranju neveljavnih e-poštnih naslovov?

Email regex se uporablja za ujemanje vhodnega niza (e-poštnega naslova, ki ga vnese uporabnik) z določeno obliko. Če se e-poštni naslov ne ujema s to obliko, se šteje za neveljavnega. S tem lahko preprečite tipkarske napake, zagotovite skladnost podatkov in se zaščitite pred nekaterimi vrstami napadov z vbrizgavanjem.

Kaj je bel znak v kontekstu e-poštnega regexa?

Znak za beli prostor v e-poštnem regexu se nanaša na kateri koli znak, ki se uporablja za predstavitev praznih prostorov, kot so presledki, zavihki ali prelomi vrstic. V kontekstu e-poštnih naslovov beli znaki običajno niso dovoljeni in zaradi njihove prisotnosti bi bil e-poštni naslov neveljaven.

Kaj je kompleksni regex za e-pošto?

Kompleksni e-poštni regex je podrobnejši in natančnejši regularni izraz, ki se uporablja za preverjanje e-pošte. Upošteva lahko različne vidike e-poštnih naslovov, kot so imena domen, nelatinični znaki in posebna pravila o tem, kje se lahko pojavijo določeni znaki. Čeprav zagotavlja temeljitejše preverjanje, je lahko tudi zahtevnejši za izvajanje in vzdrževanje.

Kako e-poštni regex obravnava nelatinične znake in Unicode?

Ravnanje z nelatinskimi znaki in Unicode v e-poštnih regexih je lahko zapleteno. Nekateri e-poštni sistemi omogočajo Unicode ali nelatinične e-poštne naslove, vendar niso splošno podprti. Kompleksni e-poštni regex lahko vključuje razrede znakov za ujemanje nelatiničnih znakov, vendar je treba razumeti posebne zahteve in omejitve e-poštnega sistema, s katerim delate.

Kakšna je vloga razredov znakov v e-poštnem regexu?

Razredi znakov v e-poštnem regexu določajo nabor znakov, ki se lahko ujemajo s katerim koli posameznim znakom v vhodnem nizu. Na primer, razred znakov [a-z] se ujema s katero koli malo angleško črko. Razredi znakov se lahko uporabijo za določitev veljavnih znakov za različne dele e-poštnega naslova.

Kakšne so omejitve regexa za preverjanje e-pošte?

Čeprav lahko regex v e-poštnih naslovih ujame veliko pogostih napak, to ni popolna metoda potrjevanja. Nekateri neveljavni naslovi lahko še vedno uspešno opravijo preverjanje regexa, nekateri veljavni naslovi pa ne, zlasti če uporabljajo manj pogoste formate ali znake. Za temeljito preverjanje e-pošte je pogosto priporočljivo uporabiti storitve za preverjanje e-pošte ali vnesenemu naslovu poslati potrditveno e-pošto.

Pojdite na poglobljeno preverjanje e-pošte, pojdite na Bouncer