Prejdeme rovno ku krátkej odpovedi a o zdĺhavé vysvetlenie sa postaráme neskôr.

Jednoducho povedané - nie.

Už počujem vývojárov a diablových advokátov, ktorí spochybňujú naše tupé odmietanie overovania e-mailov regexom, čo vyvoláva ďalšiu otázku, prečo vôbec existuje.

Nepopierame, že to môže byť užitočný nástroj, a určite je to šikovná pomôcka, ktorá používateľom zabráni pridať akýkoľvek starý text do formulára alebo iného spustiteľného média. Kedysi mal e-mailový regex svoju úlohu v spôsobe zhromažďovania e-mailových údajov.

Ale teraz? V súlade so súčasnými technológiami a normami?

My hovoríme, že už má svoje dni za sebou.

Ak chcete zabezpečiť, aby ste dostávali čisté e-mailové adresy, ktoré nepokazia váš e-mailový marketing, mieru odchodov, skóre doručiteľnosti a všetky veci, o ktorých viete, že ich potrebujete na udržanie vysokých metrík a konverzií, potom regex nie je správna cesta.

Čo je to regex na overovanie e-mailov?

Regex je skratka pre regulárny výraz; je to termín používaný v rôznych kódovacích jazykoch. Regex alebo regulárne výrazy sa vzťahujú na kódované textové reťazce určené na porovnávanie vzorov nájdených v iných reťazcoch.

Môžu byť celkom užitočné, keď používateľ potrebuje porovnať reťazec znakov s určitým typom vzoru, aby si overil, či sa dodané informácie javia ako správne. Zoberme si telefónne čísla, PSČ, dátumy, a áno, to hlavné, čo nás zaujíma - e-mailové adresy.

Pomocou jednoduchého vzoru možno presný reťazec priradiť k súboru pravidiel. Keď sa jednoduché vzory stanú zložitejšími, regex sa stane menej efektívnym a je pravdepodobnejšie, že poskytne zlé výsledky.

Zatiaľ to znie dobre - aký je problém s overovaním e-mailov regexom?

Regex je síce šikovný nástroj, ale nepokrýva kontroly, ktoré potrebujete. Pozrite sa na tieto:

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

Povedzme, že si všimnete niektorý z vyššie uvedených prírastkov do svojho e-mailového zoznamu; okamžite by ste ich označili (alebo by ste mali!). Neverili by ste, že niektorý z nich je platným príspevkom skutočných ľudí, ktorí prejavujú záujem o váš produkt a službu.

Regexová validácia e-mailu by však bola. Všetky by prešli.

Prečo? Pretože tieto zjavne falošné adresy sa stále riadia vzormi, ktoré majú podľa jej pravidiel potvrdzovať.

Teraz to nevyzerá až tak inteligentne, však?

Je príliš obmedzujúci

Napriek tomu, že nám tieto predchádzajúce príklady pripadajú tak očividne falošné, niektoré formáty e-mailov obsahujú oveľa viac špeciálnych znakov, ako sme zvyknutí vidieť.

V najjednoduchšej forme a e-mailová adresa má nasledujúci formát:

meno používateľa@doména

E-mailové adresy sa skladajú z troch častí:

  • Miestna časť - zvyčajne používateľské meno alebo pracovná úloha
  • Znak @
  • Doména vrátane platnej domény najvyššej úrovne (TLD)

Ak by to bolo všetko, čo by mal kód hľadať, potom by typická javascriptová regexová kontrola zabránila tomu, aby sa v našich zoznamoch ocitlo množstvo zlých kontaktov.

Naše e-mailové adresy môžu zvyčajne obsahovať nasledujúce znaky:

  • Číslice: 0 až 9
  • Malé a veľké písmená: a až z a A až Z
  • Ďalšie špeciálne znaky: !#$%&'*+-/=?^_`{|}~
  • Znak bodky [.]: znak: ale nie ako prvý alebo posledný znak, alebo použitý za sebou

Ak by sa niekto prihlásil do vášho e-mailového zoznamu s niektorým z týchto špeciálnych znakov alebo s viacerými z nich, väčšina z nás by sa pýtala, či niečo nie je v poriadku, a mýlili by sme sa - všetky sú podľa súčasnej konvencie povolené.

Regex nekontroluje nič iné ako syntax

Vývojári sa možno zaujímajú len o získanie platne vyzerajúcich adries prostredníctvom formulára, ale my nie. My potrebujeme vedieť:

  • Existuje doména?
  • Existuje záznam MX, ktorý dokazuje, že doména má poštový server?
  • Má e-mailová adresa funkčné e-mailové konto?

Každá z týchto otázok, ktorá bude hodnotená "nie", dostane od nás ako marketérov tvrdé "nie". Regex nič z toho nekontroluje - takéto červené vlajky odhalí iba špecializovaný nástroj na overovanie e-mailov.

Nezaznamenáva dočasné a jednorazové adresy

Ako obchodníci s e-mailom sme si vedomí aj toho, že veľa používateľov si vytvára falošné dočasné kontá, aby využili ponuku, propagačnú akciu alebo inú situáciu. Je to jednoduchý spôsob, ako si nepridávať neporiadok do svojich existujúcich e-mailových účtov alebo neposkytovať o sebe žiadne informácie, ktoré nechcú.

Dočasnú alebo jednorazovú e-mailovú adresu je možné ľahko nastaviť ako jednorazové riešenie. Tieto adresy často zmiznú do 10 alebo 15 minút od zriadenia, takže sú neuveriteľne vhodné na daný účel.
Regex ich nekontroluje. Dočasné a jednorazové e-mailové adresy prejdú všetkými testami overovania regexom.

Ako by ste nastavili e-mailový regex javascript?

Ak ste programátor, pravdepodobne nebudete potrebovať náš základný prehľad o tejto téme, aby sme vám povedali, ako na to, ale pre tých z vás, ktorí majú skúsenosti s kódovaním, by to malo vyzerať približne takto:

funkcia 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("Toto nie je platná e-mailová adresa");

vrátiť false;

}

}

Časť, ktorá vykonáva všetku ťažkú prácu, je var mailformat linka. Vykonanie a znaky v tomto dlhom riadku kódu definujú, čo je povolené a čo nie.

Môžete si všimnúť jednoduché veci: a-z, A-Z, 0-9a potom špeciálne znaky v prvej, miestnej časti. Stránka +@ potom určuje miestny a doménový oddeľovač. Za @ potom nasleduje ďalšie pole inštrukcií o tom, čo je prípustné pre doménovú časť.

Ak chcete získať oveľa hlbší prehľad o tom, čo je potrebné na implementáciu regex validátora, prejdite na stránku abstract. Majú naozaj dobrého sprievodcu, ktorý presne ukazuje, čo je potrebné, a sú odborníkmi, pokiaľ ide o všetky druhy doplnkov a začlenení API.

Ak stojí za to robiť nejakú prácu, stojí za to ju robiť dobre, preto overte svoje zoznamy čo najlepšie.

Existuje len jeden spôsob, ako sa uistiť, že sú vaše e-mailové zoznamy v prvotriednom stave, a to pomocou špecializovaného nástroja na overovanie e-mailov, ako je napr. Vyhadzovač.

Overovanie regexom môže byť zodpovedné za to, že do vašich e-mailových zoznamov sa dostanú falošné e-mailové adresy, ako aj za blokovanie tých platných. Pokiaľ ide o pridanie metódy overovania do vašich online formulárov alebo metód zberu údajov, odporúčame iné, robustnejšie formy overovania.

Nakoniec, spustenie e-mailových zoznamov prostredníctvom platformy, ako je Bouncer, je zďaleka najlepší spôsob, ako udržať zoznamy čisté a zdravé, znížiť mieru odchodov, zvýšiť doručiteľnosť a skóre odosielateľa v špičkovej forme.

Často kladené otázky týkajúce sa regexu e-mailových správ

Čo je to jednoduchý regex na overovanie e-mailov?

Jednoduchý regex (regulárny výraz) na overovanie e-mailov je postupnosť znakov, ktorá definuje vzor vyhľadávania e-mailových adries. Možno ho použiť na kontrolu, či reťazec zodpovedá štandardnému formátu e-mailovej adresy. Je však dôležité poznamenať, že jednoduchý regex nemusí zachytiť všetky neplatné e-mailové adresy a môže umožniť prechod niektorých neštandardných formátov e-mailových adries.

Ako pomáha e-mailový regex pri filtrovaní neplatných e-mailových adries?

E-mailový regex sa používa na porovnanie vstupného reťazca (e-mailovej adresy zadanej používateľom) s konkrétnym formátom. Ak e-mailová adresa nezodpovedá tomuto formátu, považuje sa za neplatnú. To môže pomôcť zabrániť preklepom, zabezpečiť konzistentnosť údajov a chrániť pred určitými typmi útokov typu injection.

Čo je to biely znak v kontexte e-mailového regexu?

Znak bielych znakov v e-mailovom regexe označuje akýkoľvek znak, ktorý sa používa na reprezentáciu prázdnych miest, ako sú medzery, tabulátory alebo zalomenie riadkov. V kontexte e-mailových adries nie sú biele znaky zvyčajne povolené a ich prítomnosť by spôsobila neplatnosť e-mailovej adresy.

Čo je to komplexný e-mailový regex?

Komplexný e-mailový regex je podrobnejší a presnejší regulárny výraz používaný na overovanie e-mailov. Môže zohľadňovať rôzne aspekty e-mailových adries, ako sú názvy domén, nelatinkové znaky a špecifické pravidlá týkajúce sa toho, kde sa môžu vyskytovať určité znaky. Hoci poskytuje dôkladnejšiu validáciu, môže byť aj náročnejší na implementáciu a údržbu.

Ako si e-mailový regex poradí s nelatinskými znakmi a Unicode?

Spracovanie nelatinských znakov a Unicode v e-mailových regexoch môže byť zložité. Niektoré e-mailové systémy umožňujú používať Unicode alebo nelatinkové e-mailové adresy, ale nie sú podporované univerzálne. Komplexný e-mailový regex môže obsahovať triedy znakov na porovnanie nelatinských znakov, ale je nevyhnutné pochopiť špecifické požiadavky a obmedzenia e-mailového systému, s ktorým pracujete.

Aká je úloha tried znakov v e-mailovom regexe?

Triedy znakov v e-mailovom regexe definujú množinu znakov, ktoré môžu zodpovedať ľubovoľnému jednotlivému znaku vo vstupnom reťazci. Napríklad trieda znakov [a-z] zodpovedá akémukoľvek malému anglickému písmenu. Triedy znakov možno použiť na špecifikáciu platných znakov pre rôzne časti e-mailovej adresy.

Aké sú obmedzenia regexu na overovanie e-mailov?

Hoci regex dokáže zachytiť mnoho bežných chýb v e-mailových adresách, nie je to úplná metóda overovania. Niektoré neplatné adresy môžu napriek tomu prejsť kontrolou regexu a niektoré platné adresy môžu zlyhať, najmä ak používajú menej bežné formáty alebo znaky. Na dôkladnú validáciu e-mailov sa často odporúča používať služby na validáciu e-mailov alebo odoslať potvrdzujúci e-mail na zadanú adresu.

Prejdite na hĺbkové overenie e-mailu, prejdite na aplikáciu Bouncer