Přejdeme rovnou ke krátké odpovědi a o zdlouhavé vysvětlování se postaráme později.

Jednoduše řečeno - ne.

Už slyším, jak vývojáři a ďáblovi advokáti zpochybňují naše tupé odmítání regexu. ověření e-mailu, což vyvolává další otázku, proč vůbec existuje.

Nebudeme popírat, že to může být užitečný nástroj, a rozhodně je to chytrá věcička, která uživatelům zabrání přidat do formuláře nebo jiného spustitelného média jakýkoli starý text. Kdysi měl e-mailový regex svou roli v tom, jak shromažďujeme údaje o e-mailech.

Ale nyní? V souladu se současnými technologiemi a standardy?

Říkáme, že už má své dny za sebou.

Pokud chcete mít jistotu, že dostáváte čisté e-mailové adresy které neovlivní váš e-mailový marketing, míru odmítnutí, skóre doručitelnosti a všechny věci, které potřebujete k udržení vysokých metrik a konverzí, pak regex není tou správnou cestou.

Co je to regex pro ověřování e-mailů?

Regex je zkratka pro regulární výraz; je to termín používaný v různých kódovacích jazycích. Regex neboli regulární výrazy označují kódované textové řetězce určené k porovnávání vzorů nalezených v jiných řetězcích.

Mohou být docela užitečné, když uživatel potřebuje porovnat řetězec znaků s určitým typem vzoru, aby si ověřil, zda jsou zadané informace správné. Vezměme v úvahu telefonní čísla, PSČ, data a ano, to hlavní, co nás zajímá - e-mailové adresy.

Pomocí jednoduchého vzoru lze přiřadit přesný řetězec k sadě pravidel. Když se jednoduché vzory stanou složitějšími, regex se stane méně efektivním a je pravděpodobnější, že bude poskytovat špatné výsledky.

Zatím to zní dobře - jaký je tedy problém s ověřováním e-mailů pomocí regexu?

I když je regex šikovný nástroj, nepokrývá všechny potřebné kontroly. Podívejte se na tyto:

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

Řekněme, že si všimnete některého z výše uvedených přírůstků do svého e-mailového seznamu; okamžitě byste je označili (nebo byste měli!). Nevěřili byste, že některý z nich jsou platné příspěvky skutečných lidí, kteří projevují zájem o váš produkt a službu.

Regexová validace e-mailu by však byla. Všechny by prošly.

Proč? Protože tyto zjevně falešné adresy stále odpovídají vzorcům, které mají potvrzovat její pravidla.

Teď už to nevypadá tak chytře, že?

Je příliš omezující

Přestože nám předchozí příklady připadají tak očividně falešné, některé formáty e-mailů obsahují mnohem více speciálních znaků, než jsme zvyklí vídat.

V nejjednodušší podobě má e-mailová adresa následující formát:

uživatelské jmé[email protected]éna

E-mailové adresy se skládají ze tří částí:

  • Místní část - obvykle uživatelské jméno nebo pracovní role.
  • Znak @
  • Doména včetně platné domény nejvyšší úrovně (TLD)

Pokud by kód hledal pouze toto, pak by typická javascriptová kontrola regexem zabránila tomu, aby se v našich seznamech objevilo mnoho špatných kontaktů.

Naše e-mailové adresy mohou obvykle obsahovat následující znaky:

  • Číslice: 0 až 9
  • Malá a velká písmena: a až z a A až Z
  • Další speciální znaky: !#$%&'*+-/=?^_`{|}~
  • Znak tečky [.]: Ne jako první nebo poslední znak, nebo použitý za sebou.

Pokud by se někdo přihlásil do vašeho e-mailového seznamu s některým z těchto speciálních znaků nebo s řadou z nich, většina z nás by se ptala, zda není něco v nepořádku, a mýlili bychom se - všechny jsou podle současné konvence povoleny.

Regex nekontroluje nic jiného než syntaxi.

Vývojáři se možná zajímají pouze o to, jak získat platné adresy prostřednictvím formuláře, ale my se o to nezajímáme. My potřebujeme vědět:

  • Existuje doména?
  • Existuje záznam MX, který dokazuje, že doména má poštovní server?
  • Má e-mailová adresa funkční e-mailový účet?

Každá z těchto otázek, která je hodnocena "ne", dostane od nás jako od obchodníků tvrdé "ne". Regex nic z toho nekontroluje - pouze specializovaný nástroj pro validaci e-mailů takové červené vlajky odhalí.

Nezaznamenává dočasné a jednorázové adresy.

Jako obchodníci s e-maily si také uvědomujeme, že spousta uživatelů si zakládá falešné dočasné účty, aby využili nabídky, propagační akce nebo jiné situace. Je to snadný způsob, jak se vyhnout znepřehlednění svých stávajících e-mailových účtů nebo prozrazení jakýchkoli informací o sobě, které nechtějí.

Dočasnou nebo jednorázovou e-mailovou adresu lze snadno nastavit jako jednorázové řešení. Tyto adresy často zmizí do 10 nebo 15 minut od zřízení, takže jsou neuvěřitelně vhodné pro daný účel.
Regex je nekontroluje. Dočasné a jednorázové e-mailové adresy projdou všemi validačními testy regexu.

Jak byste nastavili e-mailový regex javascript?

Pokud jste šikovní vývojář, pravděpodobně nebudete potřebovat naše základní znalosti, abychom vám řekli, jak na to, ale pro ty z vás, kteří mají s kódováním nějaké zkušenosti, by to mělo vypadat nějak takto:

funkce 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 není platná e-mailová adresa");

return false;

}

}

Částí, která vykonává veškerou těžkou práci, je. var mailformat linka. Provedení a znaky v tomto dlouhém řádku kódu určují, co je povoleno a co ne.

Dokážete si všimnout jednoduchých věcí: a-z, A-Z, 0-9a poté speciální znaky v první, místní části. Stránka [email protected] pak určuje místní a doménový oddělovač. Za znakem @ pak následuje další řada pokynů, co je přípustné pro doménovou část.

Pokud chcete získat mnohem hlubší informace o tom, co je potřeba k implementaci validátoru regexů, přejděte na stránku abstract. Mají opravdu dobrého průvodce, který přesně popisuje, co je potřeba, a jsou odborníky, pokud jde o všechny druhy. API doplňky a začlenění.

Pokud stojí za to dělat nějakou práci, stojí za to ji dělat dobře, proto ověřte své seznamy tím nejlepším možným způsobem.

Existuje pouze jeden způsob, jak se ujistit, že jsou vaše e-mailové seznamy v prvotřídním stavu, a to je použití specializovaného nástroje pro ověřování e-mailů, jako je např. Vyhazovač.

Ověřování regexem může být zodpovědné za to, že se do vašich e-mailových seznamů dostanou falešné e-mailové adresy, stejně jako za blokování těch platných. Pokud jde o přidání metody ověřování do vašich online formulářů nebo metod sběru dat, doporučili bychom jiné, robustnější formy ověřování.

Nakonec, spuštění e-mailových seznamů prostřednictvím platformy, jako je např. Vyhazovač je zdaleka nejlepším způsobem, jak udržet seznamy čisté a zdravé, snížit míru odskočení, zvýšit doručitelnost a skóre odesílatele ve špičkovém stavu.

Přejděte na hloubkové ověření e-mailu, přejděte na Bouncer