Pereisime tiesiai prie trumpo atsakymo, o ilgai trunkantį paaiškinimą pateiksime vėliau.
Paprasčiausiai – ne.
Girdžiu, kaip kūrėjai ir velnio gynėjai abejoja mūsų tiesmuku regex el. pašto patvirtinimo neigimu, todėl kyla dar vienas klausimas, kodėl jis apskritai egzistuoja.
Neneigsime, kad tai gali būti naudinga priemonė, be to, tai neabejotinai protinga maža priemonė, neleidžianti naudotojams į formą ar kitą vykdomąją laikmeną įtraukti bet kokio seno teksto. Kažkada el. pašto regex atliko savo vaidmenį renkant el. pašto duomenis.
Bet dabar? Pagal dabartines technologijas ir standartus?
Mes sakome, kad ji jau sulaukė savo dienos.
Jei norite užtikrinti, kad gautumėte švarius el. pašto adresus, kurie nesugadins jūsų el. pašto rinkodaros, atmetimo rodiklių, pristatymo rodiklių ir visų kitų dalykų, kurių, kaip žinote, reikia, kad jūsų rodikliai būtų aukšti, o konversijos būtų pasiekiamos, regex nėra tinkamas būdas.
Kas yra el. pašto patvirtinimo regex?
„Regex” yra reguliariosios išraiškos trumpinys; tai terminas, vartojamas įvairiose kodavimo kalbose. Regex, arba reguliariosios išraiškos, reiškia koduotas teksto eilutes, skirtas sutapti su kitose eilutėse randamais šablonais.
Jie gali būti gana patogūs, kai naudotojui reikia sugretinti simbolių eilutę su tam tikro tipo šablonu ir patikrinti, ar pateikta informacija yra teisinga. Apsvarstykite telefono numerius, ZIP kodus, datas ir, taip, svarbiausią mums rūpimą dalyką – el. pašto adresus.
Naudojant paprastą šabloną, tikslią eilutę galima suderinti su taisyklių rinkiniu. Kai paprasti šablonai tampa sudėtingesni, regex tampa mažiau veiksminga ir dažniau duoda blogus rezultatus.
Kol kas tai skamba gerai – taigi, kokia problema kyla dėl regex el. pašto patvirtinimo?
Nors regex yra puikus įrankis, jis neapima visų reikalingų patikrinimų. Pažvelkite į šias:
[email protected]
[email protected]
[email protected]
[email protected]
Tarkime, pastebėjote, kad kuris nors iš pirmiau išvardytų el. pašto sąrašo papildymų; iš karto juos pažymėtumėte (arba turėtumėte pažymėti!). Nepatikėtumėte, kad kuris nors iš jų yra tinkami įrašai, kuriuos padarė tikri žmonės, rodantys susidomėjimą jūsų produktu ir paslauga.
Tačiau „Regex” elektroninio pašto patvirtinimas būtų. Jis juos visus praleistų.
Kodėl? Nes šie akivaizdžiai suklastoti adresai vis dar atitinka jos taisyklėse nustatytus modelius.
Dabar jis neatrodo toks protingas, ar ne?
Per daug ribojanti
Nepaisant to, kad ankstesni pavyzdžiai mums atrodo akivaizdžiai klaidingi, kai kuriuose el. pašto formatuose yra daug daugiau specialiųjų ženklų, nei esame įpratę matyti.
Paprasčiausia el. pašto adreso forma yra tokio formato:
vartotojo vardas@domenas
El. pašto adresai sudaromi iš trijų dalių:
- Vietinė dalis – paprastai vartotojo vardas arba darbo vieta.
- Ženklas @
- Domenas, įskaitant galiojantį aukščiausio lygio domeną (angl. Top Level Domain)
Jei kodas turėtų ieškoti tik to, tuomet tipiškas javascript regex tikrinimas neleistų daugybei blogų kontaktų atsidurti mūsų sąrašuose.
Paprastai mūsų el. pašto adresus gali sudaryti šie simboliai:
- Skaičiai: 0-9
- Mažosios ir didžiosios raidės: nuo a iki z ir nuo A iki Z
- Taško simbolis [.]: Bet ne kaip pirmas ar paskutinis simbolis arba naudojamas iš eilės
Jei kas nors kreiptųsi į jūsų el. pašto sąrašą su bet kuriuo ar keliais iš šių specialiųjų simbolių, dauguma mūsų suabejotų, ar kas nors negerai, ir būtume neteisūs – pagal dabartinę konvenciją visi jie yra leidžiami.
„Regex” netikrina nieko, išskyrus sintaksę
Kūrėjams gali rūpėti tik tai, kad per formą būtų gaunami teisingai atrodantys adresai, bet mums tai nerūpi. Mums reikia žinoti:
- Ar domenas egzistuoja?
- Ar yra MX įrašas, įrodantis, kad domenas turi pašto serverį?
- Ar el. pašto adresas turi veikiančią el. pašto paskyrą?
Bet kuris iš šių klausimų, į kurį atsakoma „ne”, sulauks griežto „ne” ir iš mūsų, rinkodaros specialistų. „Regex” netikrina nė vieno iš šių dalykų – tokias raudonas vėliavėles išryškins tik speciali el. pašto tikrinimo priemonė.
Jame nepastebimi laikini ir vienkartiniai adresai
Kaip el. pašto rinkodaros specialistai žinome, kad daugybė naudotojų sukuria netikras laikinas paskyras, kad pasinaudotų pasiūlymu, akcija ar kita situacija. Tai paprastas būdas išvengti netvarkos savo turimose el. pašto paskyrose arba informacijos apie save, kurios jie nenori atskleisti.
Lengva nustatyti laikiną arba vienkartinį el. pašto adresą kaip vienkartinį sprendimą. Tokie adresai dažnai išnyksta per 10 ar 15 minučių nuo jų sukūrimo, todėl jie neįtikėtinai tinkami naudoti pagal paskirtį.
„Regex” jų netikrina. Laikinieji ir vienkartiniai el. pašto adresai atitinka visus regex tikrinimo testus.
Kaip nustatyti el. pašto regex javascript?
Jei esate programuotojas, jums tikriausiai neprireiks mūsų pagrindinių žinių, kad pasakytume, kaip tai padaryti, tačiau tiems, kurie turi šiek tiek kodavimo patirties, tai turėtų atrodyti maždaug taip:
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(„Tai nėra galiojantis el. pašto adresas”);
grąžinti false;
}
}
Dalis, kuri atlieka visą sunkų darbą, yra var mailformat linija. Šios ilgos kodo eilutės vykdymas ir simboliai apibrėžia, kas leidžiama, o kas ne.
Galite pastebėti paprastus dalykus: A , A , , o po to – specialieji ženklai pirmajame, vietiniame skyriuje. +@ tada nurodomas vietinis ir domeno skirtukas. Po @ seka dar vienas nurodymų masyvas apie tai, kas leidžiama domeno skiltyje.
Jei norite daug išsamiau sužinoti, ko reikia norint įdiegti regex validatorių, apsilankykite svetainėje abstract. Jie yra parengę tikrai gerą vadovą, kuriame tiksliai paaiškina, ko reikia, ir yra visų rūšių API papildymų ir įtraukimų ekspertai.
Jei darbą verta atlikti, jį verta atlikti gerai, todėl patvirtinkite savo sąrašus geriausiu įmanomu būdu.
Yra tik vienas būdas įsitikinti, kad jūsų el. pašto sąrašai yra aukščiausios kokybės, t. y. naudoti specialų el. pašto patvirtinimo įrankį, pvz. Bouncer .
Dėl „Regex” patvirtinimo į jūsų el. pašto adresų sąrašus gali patekti netikri el. pašto adresai, taip pat gali būti blokuojami galiojantys adresai. Kai į savo internetines formas ar duomenų rinkimo metodus norite įtraukti autentiškumo patvirtinimo metodą, siūlytume naudoti kitas, patikimesnes patvirtinimo formas.
Galiausiai, el. pašto sąrašų tvarkymas naudojant tokią platformą kaip „Bouncer” yra geriausias būdas išlaikyti sąrašus švarius ir sveikus, sumažinti atmetimo rodiklius, užtikrinti aukštą pristatymo lygį ir geriausią siuntėjo įvertinimą.
DUK apie el. pašto žinutės regex
Koks yra paprastas elektroninio pašto patvirtinimo regex?
Paprasta regex (reguliarioji išraiška) el. pašto patvirtinimui yra simbolių seka, apibrėžianti el. pašto adresų paieškos šabloną. Ją galima naudoti tikrinant, ar eilutė atitinka standartinį el. pašto adreso formatą. Tačiau svarbu atkreipti dėmesį į tai, kad paprasta regex gali neaptikti visų negaliojančių el. pašto adresų ir gali praleisti kai kurių nestandartinių formatų el. pašto adresus.
Kaip el. pašto regex padeda filtruoti negaliojančius el. pašto adresus?
El. pašto regex naudojama įvesties eilutei (naudotojo įvestam el. pašto adresui) palyginti su tam tikru formatu. Jei el. pašto adresas neatitinka šio formato, jis laikomas negaliojančiu. Tai gali padėti išvengti rašybos klaidų, užtikrinti duomenų nuoseklumą ir apsisaugoti nuo tam tikrų tipų įvedimo atakų.
Kas yra baltasis simbolis el. pašto regex kontekste?
Baltasis simbolis el. pašto regex žodyne reiškia bet kokį simbolį, kuris naudojamas tuštiems tarpams, pavyzdžiui, tarpams, skirtukams ar eilučių pertraukoms, reikšti. Elektroninio pašto adresų kontekste baltųjų tarpų ženklai paprastai yra neleidžiami, o jų buvimas el. pašto adresą paverstų negaliojančiu.
Kas yra sudėtingas el. pašto regex?
Sudėtinga el. pašto regeksė yra išsamesnė ir tikslesnė reguliarioji išraiška, naudojama el. pašto patvirtinimui. Ji gali atsižvelgti į įvairius el. pašto adresų aspektus, pavyzdžiui, domenų vardus, nelotyniškus simbolius ir konkrečias taisykles, kur gali būti tam tikri simboliai. Nors ji užtikrina išsamesnį patvirtinimą, ją taip pat gali būti sudėtingiau įgyvendinti ir prižiūrėti.
Kaip el. pašto regex tvarko nelotyniškus simbolius ir „Unicode”?
El. laiškų regex gali būti sudėtinga tvarkyti nelotyniškus simbolius ir „Unicode”. Kai kuriose el. pašto sistemose galima naudoti „Unicode” arba nelotyniškus el. pašto adresus, tačiau jie nėra visuotinai palaikomi. Sudėtinga el. pašto regex gali apimti simbolių klases, kad atitiktų nelotyniškus simbolius, tačiau būtina suprasti konkrečius el. pašto sistemos, su kuria dirbate, reikalavimus ir apribojimus.
Koks simbolių klasių vaidmuo el. pašto regex sistemoje?
Elektroninio pašto regex simbolių klasės apibrėžia simbolių rinkinį, kuris gali atitikti bet kurį vieną įvesties eilutės simbolį. Pavyzdžiui, simbolių klasė [a-z] atitinka bet kurią mažąją anglišką raidę. Simbolių klasės gali būti naudojamos skirtingoms el. pašto adreso dalims apibrėžti galiojančius simbolius.
Kokie yra el. pašto regex apribojimai tvirtinant el. laiškus?
Nors elektroninio pašto regex gali aptikti daug įprastų klaidų el. pašto adresuose, tai nėra išsamus tikrinimo metodas. Kai kurie negaliojantys adresai vis tiek gali būti patikrinti regex, o kai kurie galiojantys adresai gali būti nepatikrinti, ypač jei juose naudojami retesni formatai ar simboliai. Norint išsamiai patvirtinti el. pašto adresą, dažnai rekomenduojama naudotis el. pašto patvirtinimo paslaugomis arba įvestu adresu siųsti patvirtinimo el. laišką.