Маркетинги почтаи электронӣ ва автоматизатсияи маркетинги почтаи электронӣПлатформаи CRM ва маълумот

Чӣ тавр суроғаи почтаи электрониро бо ифодаҳои муқаррарӣ тасдиқ кардан мумкин аст (Regex)

Қариб ҳар як забони барномасозӣ имрӯзҳо ифодаҳои муқаррариро дастгирӣ мекунад. Гарчанде ки баъзе таҳиягарон онҳоро дӯст намедоранд, онҳо воқеан як таҷрибаи беҳтарин мебошанд, зеро онҳо маъмулан вазифаҳоро ба монанди тасдиқро бо захираҳои камтари сервер иҷро мекунанд. Суроғаҳои почтаи электронӣ намунаи комил мебошанд… дар он ҷо онҳоро метавон ба осонӣ тафтиш кард, то боварӣ ҳосил кунад, ки онҳо дуруст формат карда шудаанд.

Дар хотир доред, ки тасдиқ нест тафтиши. Тасдиқ танҳо маънои онро дорад, ки маълумоти додашуда формати стандартиро, ки дуруст сохта шудааст, пайравӣ мекунад. Баъзе чизҳои ҷолиб дар бораи суроғаҳои почтаи электронӣ, ки ҳангоми тасдиқ кардан мумкин аст аз даст дода шаванд.

Суроғаи почтаи электронӣ чӣ қадар буда метавонад?

Имрӯз ман бояд кофтам, то онро ёбам, аммо оё шумо медонед, ки суроғаи почтаи электронӣ чӣ қадар аст? Ин дар асл ба қисмҳо тақсим карда шудааст ... Ном@Domain.com. Ин мувофиқи RFC2822.

  1. Ном метавонад аз 1 то 64 аломат бошад.
  2. Домен метавонад аз 1 то 255 аломат бошад.

Ин маънои онро дорад, ки ин метавонад як суроғаи почтаи электронӣ дуруст бошад:

loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc@loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Кӯшиш кунед, ки онро дар корти тиҷорӣ ҷойгир кунед! Аҷиб аст, ки аксари майдонҳои суроғаҳои почтаи электронӣ дар интернет бо 100 аломат маҳдуданд… ин аз ҷиҳати техникӣ нодуруст аст. Баъзе аз ибораҳои дигари муқаррарӣ, ки барои тасдиқи суроғаҳои почтаи электронӣ истифода мешаванд, инчунин домени 3-рақамаи сатҳи болоро ҷустуҷӯ мекунанд, ба монанди .com; аммо, ҳеҷ маҳдудият ба дарозии нест доменҳои сатҳи боло (масалан. Martech Zone дорои 4 рақам - .zona).

Стандартизатсияи суроғаи почтаи электронӣ назар ба он ки шумо дарк мекунед, хеле мураккабтар аст. Вақте ки ба стандарт навишта шудааст, дар ин ҷо ифодаи муқаррарии воқеии суроғаи почтаи электронӣ мавҷуд аст Regexr:

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

HTML5 ҳатто ба тасдиқ ниёз надорад

Осонтарин воситаи таъмини дурустии почтаи электронӣ мувофиқи стандарт ин истифодаи майдони вуруди почтаи электронии HTML5 мебошад:

<input type='email' name='email' placeholder='name@domain.com' />

Бо вуҷуди ин, вақтҳое ҳастанд, ки барномаи веби шумо ҳанӯз ҳам мехоҳад суроғаи почтаи электрониро ҳам дар браузер ҳангоми ворид шудан ва ҳам ҳангоми ба сервери шумо пешниҳод кардан тасдиқ кунад.

Regex барои суроғаи дурусти почтаи электронӣ дар PHP

Теъдоди ками одамон инро дарк мекунанд, аммо PHP ҳоло стандарти RFC-ро дорад Функсияи тасдиқи филтр.

if(filter_var("name@domain.com", FILTER_VALIDATE_EMAIL)) {
    // Valid
}
else {
    // Not Valid
}

Regex барои суроғаи дурусти почтаи электронӣ дар Javascript

Барои санҷидани сохтори суроғаи почтаи электронӣ ба шумо стандарти аз ҳад зиёд мураккаб лозим нест. Ин як воситаи оддии истифодаи JavaScript аст.

function validateEmail(email) 
{
    var re = /\\S+@\\S+/;
    return re.test(email);
}

Албатта, ин ба стандарти RFC мувофиқ нест, аз ин рӯ шумо метавонед ҳар як бахши маълумотро тасдиқ кунед, то дурустии онро тасдиқ кунед. Ин ифодаи муқаррарӣ ба тақрибан 99.9% суроғаҳои почтаи электронӣ дар он ҷо мувофиқат мекунад. Он комилан ба стандарт нест, аммо он барои қариб ҳама лоиҳа муфид аст.

function validateEmail(email) 
{
  var re = /^(?:[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/;

  return re.test(email);
}

Кредит барои ин мисолҳо меравад HTML.form.guide.

Douglas Karr

Douglas Karr асосгузори Martech Zone ва коршиноси шинохташудаи трансформати рақамӣ. Даг як аст Маърӯзачӣ ва сухангӯи оммавии маркетинг. Вай VP ва ҳаммуассис аст Highbridge, як ширкате, ки ба кӯмак расонидан ба ширкатҳои корхонаҳо дар самти рақамӣ табдил додан ва ба ҳадди аксар расонидани сармоягузории технологияҳои худ бо истифода аз технологияҳои Salesforce тахассус дорад. Вай маркетинги рақамӣ ва стратегияҳои маҳсулотро таҳия кардааст Dell Technologies, GoDaddy, Salesforce, Вебтрендҳова SmartFOCUS. Дуглас инчунин муаллифи Блоггузории корпоративӣ барои фиребгарон ва муаллифи он Китоби беҳтарини тиҷорат.

41 Комментарии

  1. Барои шаклҳое, ки суроғаҳои почтаи электронии сершумор доранд, хуб мебуд, ки class="суроғаи почтаи электронӣ"-ро иҷро кунед. Агар шумо китобхонаи prototype.js дошта бошед (http://www.prototypejs.org) ба саҳифа дохил карда шудааст, шумо метавонед чунин корро кунед:

    var valid = true;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    $$('.суроғаи почтаи электронӣ'). ҳар як (функсия(почтаи электронӣ) {
    агар (!filter.test(email.value)) {
    alert(?Лутфан суроғаи почтаи электронии дурустро пешниҳод кунед?);
    email.focus;
    дуруст = бардурӯғ;
    }
    });
    бозгашт эътибор дорад;

  2. Ман ин идеяро дӯст медорам, аммо ман дудила мешавам, ки ин ибораи муқаррарии мушаххасро бидуни тавсифи он, ки кадом суроғаҳои почтаи электронии қонуниро қабул намекунад ва ба кадом суроғаҳои ғайриқонунӣ иҷозат медиҳад, қабул кунам.

    Барои мисоли ибораи муқаррарӣ, ки кори шоистаеро иҷро мекунад, дар баробари шарҳи он, ки кадом ҳолатҳо онро дар бар намегирад, ба ин нигаред:

    http://www.regular-expressions.info/email.html

    Афзалияти шахсии ман ин аст, ки аксари парвандаҳои оддиро фаро гирам ва барои ҳама чизи дигар огоҳӣ диҳам, на рад кардани он. Агар Боб воқеан мехоҳад пешниҳод кунад bob@com.museum бартар аз ин bob@museum.com, чаро ба ӯ иҷозат намедиҳад?

    1. Салом Рег,

      Шумо метавонед бо истифода аз Regex-ро санҷед Санҷиши онлайни Regex.

      Илова бар ин, бешубҳа бисёр чизҳои дигарро метавон анҷом дод, агар шумо хоҳед, ки кафолат диҳед суроғаи имэйл мувофиқи RFC эътибор дорад.

      Якчанд сабабҳо вуҷуд доранд, ки ба касе иҷозат надиҳад, ки суроғаи почтаи электронии нодурустро ворид кунад:
      1. Вақте ки почтаи электроние, ки онҳо интизор буданд, нагузаштанд, онҳо аз шумо хашмгин мешаванд - новобаста аз он ки ин бо айби шумо буд ё не, суроға нодуруст ворид карда шудааст.
      2. Агар com.museum домени дуруст бошад ва бигӯем, Yahoo! онро идора мекард - ҳар як суроғаи почтаи электронӣ, ки ҷуброн мешавад, ба эътибори ширкати шумо барои интиқоли почтаи электронӣ таъсири манфӣ мерасонад. Ин метавонад боиси баста шудани ҳамаи почтаи электронии ширкати шумо гардад.
      3. Агар провайдери хидматрасонии почтаи электронии шумо ба шумо иҷозат диҳад, ки ворид шавед bob@com.museum, шумо инчунин барои ҳар як почтаи электроние, ки ба он суроғаи почтаи электронӣ фиристода шудааст, пардохт мекунед, то он даме, ки онҳо аз обунаи он суроғаро бо сабаби бозгаштҳо қатъ кунанд. Ман аз ҳама гуна ESP худдорӣ мекардам, ки ба суроғаи почтаи электронии беэътибор имкон медиҳад - онҳо танҳо пули шуморо мегиранд!

      Ташаккур барои қатъ аз ҷониби!
      Doug

  3. Роҳи осонтари навиштани ифода вуҷуд дорад:
    var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
    – Бо тағирдиҳандаи ниҳоии /i зарурати нишон додани диапазони ҳарфи калон вуҷуд надорад.
    — Ман ҳеҷ чизро намедонам TLD бо рақамҳо дар он.
    Дар як ёддошт, ман TLD-ро бо то 6 аломат иҷозат медиҳам; навҳои нав мунтазам меоянд ва шумо ҳеҷ гоҳ намедонед (хуб, баъзе одамони оянда метавонанд ҳатто рақамҳо дошта бошанд, ман медонам).

  4. Салом,

    Ман кӯшиш мекунам, ки онро дар шакли мавҷуда дар вақти воқеӣ истифода барам, аммо ба назар чунин мерасад, ки ин дар вақти воқеӣ ба мисли санҷиши қувваи пароли шумо тасдиқ карда намешавад…

    Ё ман ин қадар бехабарам ва ин барои ман кор намекунад?

  5. btw, ба ман воқеан он чизе ки шумо дар ин ҷо рӯй дода истодаед, хеле маъқул аст, дарсҳои шумо хеле соддаанд, ман бешубҳа инро қайд хоҳам кард….

  6. Танҳо як маълумот; Ман ҳалли Ade-ро санҷидаам, аммо намунаи дар боло зикршуда суроғаҳои почтаи электрониро бо апострофҳо дар онҳо тасдиқ намекунад.. (масалан, Mike.O'Hare@Whatever.com). Апострофҳо мувофиқи RFC 2821/2822 –> эътибор доранд http://www.faqs.org/rfcs/rfc2822.html

    HTH,
    Sanjay

  7. Хуб мебуд, агар мо роҳи ҳалли худро барои пешгирӣ кардани суроғаҳои почтаи электронии қалбакӣ дар шарҳҳо дар WordPress пайдо кунем

  8. Танҳо як ислоҳи хурд: Ифодаи муқаррарӣ дар охири иловагӣ ()+ дорад. Он бояд хонда шавад:

    ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+[a-zA-Z0-9]{2,4}$

    Бо якум ҳама гуна TLD-ҳои дарозӣ қабул карда мешаванд (ки ин аслан нодуруст нест, тавре ки дигарон қайд карданд, аммо агар ин ният мебуд, ифодаро метавон кӯтоҳ кард).

  9. Метавонед ифодаи муқаррарии ин код ва чӣ тавр кор кардани онро шарҳ диҳед? Инчунин дар бораи .test - Оё .test як изҳороти пешфарз дар JavaScript барои тафтиши корҳое, ки шумо дар коди боло кардаед?

  10. Ин рамзи кӯтоҳ барои ифодаи почтаи электронӣ аст-

    Функсияи validateEmail(id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
    баргардонидани emailPattern.test(id);

    }
    Дипак Рай
    варанасӣ

  11. Ин рамзи кӯтоҳ барои ифодаи почтаи электронӣ аст-

    Функсияи validateEmail(id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
    баргардонидани emailPattern.test(id);

    }
    Дипак Рай
    варанасӣ

  12. Ташаккур, аммо дар ин регекс хатогӣ вуҷуд дорад. Ман коршиноси regex нестам, аммо ман кӯшиш кардам почтаи электронӣ:

    test@test

    ва он аз регекс гузашт... Ман пайхас кардам, ки аз "." гурехта намешавад. ҳамин тавр бояд бошад:

    /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/

  13. Хуб, ин танҳо як санҷиши ноҳамвор аст, аммо на 100% дақиқ, масалан, ин хуб мебуд john_doe.@gmail.com ки дар асл суроғаи почтаи электронӣ дуруст нест (нуқта ҳамчун аломати охирин дар қисми маҳаллии почтаи электронӣ иҷозат дода намешавад).
    Инчунин қабул хоҳад кард john…doe@gmail.com ки он низ беэътибор аст, зеро дар пайдарпаӣ зиёда аз як нуқта буда наметавонад.

    Инҳо танҳо баъзе камбудиҳое ҳастанд, ки ман дар назари аввал мушоҳида кардам.
    Мақсади ман танқид кардан нест, ки инро қайд кунам, агар касе нияти онро ҳамчун чеки амниятӣ истифода барад - кофӣ бехатар нест.

    Барои гирифтани маълумот дар бораи суроғаҳои почтаи электронии дуруст инро санҷед: http://en.wikipedia.org/wiki/E-mail_address

  14. Дипак,

    Дарвоқеъ, ман фикр мекунам, ки шумо бояд барои нуқта фирорро истифода баред (“.”). Ҳамин тавр, вазифаи шумо бояд ба ҷои ин бошад:

    Функсияи validateEmail(id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
    баргардонидани emailPattern.test(id);

    }

    Дар акси ҳол, нуқта маънои “ҳар гуна аломат”-ро дорад. Ман боварӣ дорам, ки аз чунин аломатҳои махсус бояд гурезанд.

    мавриди,

    Федерико

  15. Функсияи validateEmail(fld) {
    var error ="";
    var tfld = trim(fld.value); // арзиши майдон бо холигии буридашуда
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    агар (fld.value == "Суроғаи почтаи электронии худро ворид кунед") {

    error = "Лутфан суроғаи почтаи электронии худро ворид кунед.n";
    } else if (!emailFilter.test(tfld)) { //имейлро барои аломатҳои ғайриқонунӣ санҷед

    error = "Лутфан, суроғаи почтаи электронии дурустро ворид кунед.n";
    } else if (fld.value.match(illegalChars)) {

    error = "Лутфан, суроғаи почтаи электронии дурустро ворид кунед.n";
    }
    хатои бозгашт;
    }

  16. Функсияи validateEmail(fld) {
    var error ="";
    var tfld = trim(fld.value); // арзиши майдон бо холигии буридашуда
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    агар (fld.value == "Суроғаи почтаи электронии худро ворид кунед") {

    error = "Лутфан суроғаи почтаи электронии худро ворид кунед.n";
    } else if (!emailFilter.test(tfld)) { //имейлро барои аломатҳои ғайриқонунӣ санҷед

    error = "Лутфан, суроғаи почтаи электронии дурустро ворид кунед.n";
    } else if (fld.value.match(illegalChars)) {

    error = "Лутфан, суроғаи почтаи электронии дурустро ворид кунед.n";
    }
    хатои бозгашт;
    }

  17. Функсияи validateEmail(fld) {
    var error ="";
    var tfld = trim(fld.value); // арзиши майдон бо холигии буридашуда
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    агар (fld.value == "Суроғаи почтаи электронии худро ворид кунед") {

    error = "Лутфан суроғаи почтаи электронии худро ворид кунед.n";
    } else if (!emailFilter.test(tfld)) { //имейлро барои аломатҳои ғайриқонунӣ санҷед

    error = "Лутфан, суроғаи почтаи электронии дурустро ворид кунед.n";
    } else if (fld.value.match(illegalChars)) {

    error = "Лутфан, суроғаи почтаи электронии дурустро ворид кунед.n";
    }
    хатои бозгашт;
    }

  18. Функсияи validateEmail(fld) {
    var error ="";
    var tfld = trim(fld.value); // арзиши майдон бо холигии буридашуда
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    агар (fld.value == "Суроғаи почтаи электронии худро ворид кунед") {

    error = "Лутфан суроғаи почтаи электронии худро ворид кунед.n";
    } else if (!emailFilter.test(tfld)) { //имейлро барои аломатҳои ғайриқонунӣ санҷед

    error = "Лутфан, суроғаи почтаи электронии дурустро ворид кунед.n";
    } else if (fld.value.match(illegalChars)) {

    error = "Лутфан, суроғаи почтаи электронии дурустро ворид кунед.n";
    }
    хатои бозгашт;
    }

Ту чӣ фикр мекунӣ?

Ин сомона ба воситаи Akismet барои кам кардани спам истифода мешавад. Омӯзед, ки чӣ тавр маълумотҳои худро тафтиш кунед.

Мақолаҳо марбут