Hyppäämme suoraan lyhyeen vastaukseen ja hoidamme pitkäveteisen selityksen sen jälkeen.
Yksinkertaisesti - ei.
Voin kuulla, kuinka kehittäjät ja paholaisen puolestapuhujat kyseenalaistavat regex-sähköpostivarmennuksen tylyn kieltämisen, mikä herättää kysymyksen siitä, miksi se on ylipäätään olemassa.
No, emme kiellä, etteikö se voisi olla hyödyllinen työkalu, ja se on varmasti fiksu pikku laite, joka estää käyttäjiä lisäämästä mitä tahansa tekstiä lomakkeeseen tai muuhun suoritettavaan välineeseen. Jossain vaiheessa sähköpostin regexillä oli oma osuutensa siinä, miten keräämme sähköpostitietoja.
Mutta nyt? Nykyisen tekniikan ja standardien mukaisesti?
Sanomme, että sen aika on ohi.
Jos haluat varmistaa, että saat puhtaat sähköpostiosoitteet, jotka eivät sotke sähköpostimarkkinointiasi, palautusprosenttiasi, toimitettavuuspisteitäsi ja kaikkia niitä asioita, joita tarvitset pitämään mittarisi korkealla tasolla ja konversiojasi käynnissä, regex ei ole oikea tapa.
Mikä on sähköpostin validointi regex?
Regex on lyhenne sanoista regular expression (säännöllinen lauseke); sitä käytetään eri koodauskielissä. Regex eli säännölliset lausekkeet tarkoittavat koodattuja merkkijonoja, jotka on suunniteltu vastaamaan muissa merkkijonoissa esiintyviä kuvioita.
Ne voivat olla varsin käteviä, kun käyttäjän on verrattava merkkijonoa tietyn tyyppiseen kuvioon tarkistaakseen, että annetut tiedot näyttävät oikeilta. Tällaisia ovat puhelinnumerot, postinumerot, päivämäärät ja kyllä, se tärkein, josta olemme huolissamme - sähköpostiosoitteet.
Yksinkertaisen kuvion avulla voidaan täsmällinen merkkijono sovittaa yhteen sääntöjoukon kanssa. Kun yksinkertaisista kuvioista tulee monimutkaisempia, regexistä tulee tehottomampaa ja todennäköisemmin huonoja tuloksia.
Se kuulostaa hyvältä toistaiseksi, joten mikä on ongelma regex-sähköpostin validoinnissa?
Vaikka regex onkin näppärä työkalu, se ei kata kaikkia tarvitsemiasi tarkistuksia. Tutustu näihin:
[email protected]
[email protected]
[email protected]
[email protected]
Sanotaan, että huomaat jonkun edellä mainituista sähköpostilistasi lisäykseksi; merkitset ne heti (tai sinun pitäisi!). Et uskoisi, että yksikään niistä olisi oikeiden ihmisten tekemä, tuotteestasi ja palvelustasi kiinnostuneiden henkilöiden tekemä merkintä.
Regex-sähköpostin validointi kuitenkin toimisi. Se päästäisi ne kaikki läpi.
Miksi? Koska nämä ilmeisesti väärennetyt osoitteet noudattavat edelleen sääntöjä, joiden tarkoituksena on vahvistaa ne.
Nyt se ei näytä enää niin fiksulta, vai mitä?
Se on liian rajoittava
Vaikka edelliset esimerkit näyttävätkin meistä niin ilmeisen vääriltä, jotkin sähköpostimuodot sisältävät paljon enemmän erikoismerkkejä kuin olemme tottuneet näkemään.
Yksinkertaisimmillaan sähköpostiosoite on seuraavassa muodossa:
käyttäjätunnus@verkkotunnus
Sähköpostiosoitteet muodostetaan kolmesta osasta:
- Paikallinen osa - tyypillisesti käyttäjätunnus tai työtehtävä.
- @-merkki
- Verkkotunnus, mukaan lukien voimassa oleva aluetunnus (Top Level Domain).
Jos koodin ei tarvitsisi etsiä muuta, tyypillinen javascriptin regex-tarkistus estäisi monia huonoja yhteystietoja päätymästä listoillemme.
Tyypillisesti sähköpostiosoitteemme voivat sisältää seuraavia merkkejä:
- Numerot: Numerot: 0-9
- Pienet ja isot kirjaimet: a:sta z:hen ja A:sta Z:hen.
- Muita erikoismerkkejä: !#$%&'*+-/-/=?^_`{|}~
- Pistemerkki [.]: Mutta ei ensimmäisenä tai viimeisenä merkkinä tai peräkkäin käytettynä
Jos joku hakeutuisi sähköpostilistallesi käyttäen mitä tahansa tai useita näistä erikoismerkeistä, useimmat meistä epäilisivät, että jokin on pielessä, ja olisimme väärässä - ne kaikki ovat sallittuja nykyisen sopimuksen mukaan.
Regex ei tarkista mitään muuta kuin syntaksin
Kehittäjät saattavat olla huolissaan vain siitä, että lomakkeen kautta saadaan kelvollisen näköisiä osoitteita, mutta me emme ole. Meidän on tiedettävä:
- Onko verkkotunnus olemassa?
- Onko olemassa MX-tietue, joka osoittaa, että verkkotunnuksella on sähköpostipalvelin?
- Onko sähköpostiosoitteella toimiva sähköpostitili?
Kaikki nämä kysymykset, jotka saavat "ei"-tuloksen, saavat meiltä markkinoijilta myös kovan "ei"-tuloksen. Regex ei tarkista mitään näistä - vain erityinen sähköpostin validointityökalu tuo esiin tällaiset punaiset liput.
Se ei havaitse tilapäisiä ja kertakäyttöisiä osoitteita.
Sähköpostimarkkinoijina olemme tietoisia myös siitä, että monet käyttäjät perustavat väärennettyjä tilapäisiä tilejä hyödyntääkseen tarjousta, kampanjaa tai muuta tilannetta. Se on helppo tapa välttää sotkemasta olemassa olevia sähköpostitilejään tai antamasta tietoja itsestään, joita he eivät halua antaa.
Tilapäinen tai kertakäyttöinen sähköpostiosoite on helppo ottaa käyttöön kertaratkaisuna. Nämä osoitteet katoavat usein 10-15 minuutissa niiden perustamisesta, joten ne ovat uskomattoman käyttökelpoisia.
Regex ei tarkista niitä. Väliaikaiset ja kertakäyttöiset sähköpostiosoitteet läpäisevät kaikki regexin validointitestit.
Miten voit perustaa sähköpostin regex javascript?
Jos olet aloitteleva kehittäjä, et luultavasti tarvitse peruskäsitystämme kertoaksemme miten, mutta niille, joilla on jonkin verran kokemusta koodauksesta, sen pitäisi näyttää jotakuinkin tältä:
function 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("Tämä ei ole kelvollinen sähköpostiosoite");
return false;
}
}
Se osa, joka tekee kaiken raskaan nostamisen, on var mailformat linja. Tämän pitkän koodirivin suoritus ja merkit määrittelevät, mikä on sallittua ja mikä ei.
Tunnistat yksinkertaiset asiat: a-z, A-Z, 0-9ja sitten erikoismerkit ensimmäisessä, paikallisessa osassa. +@ sanelee sitten paikallisen ja toimialueen erottimen. @:n jälkeen meillä on toinen joukko ohjeita siitä, mitä verkkotunnusosassa sallitaan.
Jos haluat paljon syvällisemmän näkemyksen siitä, mitä regex-validaattorin toteuttaminen vaatii, suuntaa osoitteeseen abstract. Heillä on todella hyvä opas siitä, mitä se tarkalleen ottaen vaatii, ja he ovat asiantuntijoita kaikenlaisten API-lisäysten ja -lisäysten suhteen.
Jos työ on tekemisen arvoinen, se kannattaa tehdä hyvin - validoi siis listasi parhaalla mahdollisella tavalla.
On vain yksi tapa varmistaa, että sähköpostilistasi ovat ensiluokkaisessa kunnossa, ja se on käyttää erityistä sähköpostin validointityökalua, kuten esim. Pomppija.
Regex-validointi voi olla vastuussa siitä, että väärennetyt sähköpostiosoitteet pääsevät sähköpostilistoillesi ja että kelvolliset sähköpostiosoitteet estetään. Kun verkkolomakkeisiin tai tiedonkeruumenetelmiin on tarkoitus lisätä todentamismenetelmä, suosittelemme muita, vankempia validointitapoja.
Loppujen lopuksi sähköpostilistojen käyttäminen Bouncerin kaltaisen alustan kautta on ylivoimaisesti paras tapa pitää listat puhtaina ja terveinä, palautusprosentit alhaisina, toimitettavuus korkeana ja lähettäjän pisteet huippukunnossa.
Sähköpostiviestin Regex FAQ
Mikä on yksinkertainen regex sähköpostin validointiin?
Yksinkertainen regex (säännöllinen lauseke) sähköpostin validointia varten on merkkijono, joka määrittelee sähköpostiosoitteiden hakumallin. Sen avulla voidaan tarkistaa, vastaako merkkijono sähköpostiosoitteen vakiomuotoa. On kuitenkin tärkeää huomata, että yksinkertainen regex ei välttämättä löydä kaikkia virheellisiä sähköpostiosoitteita ja saattaa päästää läpi joitakin ei-standardinmukaisia sähköpostiosoitteita.
Miten sähköpostin regex auttaa virheellisten sähköpostiosoitteiden suodattamisessa?
Email regexiä käytetään sovittamaan syöttömerkkijono (käyttäjän syöttämä sähköpostiosoite) tiettyyn muotoon. Jos sähköpostiosoite ei vastaa tätä muotoa, se katsotaan virheelliseksi. Näin voidaan estää kirjoitusvirheet, varmistaa tietojen yhdenmukaisuus ja suojautua tietyntyyppisiltä injektiohyökkäyksiltä.
Mikä on välilyöntimerkki sähköpostin regexin yhteydessä?
Sähköpostin regexissä välilyönti-merkki tarkoittaa mitä tahansa merkkiä, jota käytetään edustamaan tyhjiä välejä, kuten välilyöntejä, välilehtiä tai rivinvaihtoja. Sähköpostiosoitteiden yhteydessä välilyönti merkit eivät yleensä ole sallittuja, ja niiden esiintyminen tekisi sähköpostiosoitteesta virheellisen.
Mikä on monimutkainen sähköpostin regex?
Monimutkainen sähköpostin regex on yksityiskohtaisempi ja tarkempi säännöllinen lauseke, jota käytetään sähköpostin validointiin. Se voi ottaa huomioon sähköpostiosoitteiden eri osatekijät, kuten verkkotunnukset, muut kuin latinalaiset merkit ja erityissäännöt siitä, missä tietyt merkit voivat esiintyä. Vaikka se tarjoaa perusteellisemman validoinnin, se voi olla myös haastavampi toteuttaa ja ylläpitää.
Miten sähköpostin regex käsittelee muita kuin latinalaisia merkkejä ja Unicodea?
Muiden kuin latinankielisten merkkien ja Unicoden käsittely sähköpostin regexissä voi olla monimutkaista. Jotkin sähköpostijärjestelmät sallivat Unicode-sähköpostiosoitteet tai muut kuin latinankieliset sähköpostiosoitteet, mutta ne eivät ole yleisesti tuettuja. Monimutkainen sähköpostin regex voi sisältää merkkiluokkia muiden kuin latinankielisten merkkien tunnistamiseksi, mutta on tärkeää ymmärtää sen sähköpostijärjestelmän erityisvaatimukset ja rajoitukset, jonka kanssa työskentelet.
Mikä on merkkiluokkien rooli sähköpostin regexissä?
Sähköpostin regexissä merkkiluokat määrittelevät joukon merkkejä, jotka voivat vastata mitä tahansa yksittäistä merkkiä syötetyssä merkkijonossa. Esimerkiksi merkkiluokka [a-z] vastaa mitä tahansa englanninkielistä pientä kirjainta. Merkkiluokkia voidaan käyttää määrittelemään kelvollisia merkkejä sähköpostiosoitteen eri osiin.
Mitkä ovat sähköpostin regexin rajoitukset sähköpostin validoinnissa?
Vaikka sähköpostin regex voi löytää monia yleisiä virheitä sähköpostiosoitteista, se ei ole täydellinen validointimenetelmä. Jotkin virheelliset osoitteet voivat silti läpäistä regex-tarkastuksen, ja jotkin kelvolliset osoitteet voivat epäonnistua, varsinkin jos niissä käytetään harvinaisempia muotoja tai merkkejä. Perusteellista sähköpostin validointia varten suositellaan usein sähköpostin validointipalvelujen käyttöä tai vahvistussähköpostin lähettämistä syötettyyn osoitteeseen.
Izabela on Bouncerin blogin johtava kirjoittaja. Hän on innostunut auttamaan yrityksiä ympäri maailmaa saamaan sähköpostit vastaanottajiensa postilaatikoihin.