Margaidheachd post-d & fèin-ghluasad margaidheachd post-dCRM agus Àrd-chabhsairean Dàta

Mar a nì thu dearbhadh air seòladh puist-d le abairtean cunbhalach (Regex)

Tha cha mhòr a h-uile cànan prògramaidh a’ toirt taic do abairtean cunbhalach an-diugh. Ged nach toil le cuid de luchd-leasachaidh iad, tha iad dha-rìribh nan cleachdadh as fheàrr oir mar as trice bidh iad a’ coileanadh gnìomhan leithid dearbhadh gu math luath le nas lugha de ghoireasan frithealaiche. Tha seòlaidhean puist-d nan deagh eisimpleir ... far am faodar an sgrùdadh gu furasta gus dèanamh cinnteach gu bheil iad air an cruth ceart.

Cumaibh cuimhne nach eil dearbhadh fìreanachadh. Tha dearbhadh dìreach a’ ciallachadh gu bheil an dàta a thèid seachad a’ leantainn cruth àbhaisteach a tha air a thogail gu ceart. Nithean inntinneach mu sheòlaidhean puist-d a dh’ fhaodadh a bhith air an call nuair a thèid an dearbhadh.

Dè cho fada ‘s as urrainn seòladh puist-d a bhith?

B ’fheudar dhomh beagan cladhach a dhèanamh an-diugh gus a lorg, ach an robh fios agad dè an fhaid dhligheach a tha ann an seòladh puist-d? Tha e dha-rìribh air a bhriseadh na phàirtean ... Ainm@Domain.com. Tha seo a rèir RFC 2822.

  1. Faodaidh ainm a bhith 1 gu 64 caractar.
  2. Faodaidh fearann ​​a bhith 1 gu 255 caractar.

Tha sin a’ ciallachadh gum faodadh seo a bhith na sheòladh puist-d dligheach:

loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc@loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Feuch ris sin a chuir air cairt gnìomhachais! Gu h-ìoranta, tha a’ mhòr-chuid de raointean seòladh puist-d cuibhrichte gu 100 caractar air an lìon… a tha ceàrr gu teicnigeach. Bidh cuid de na h-abairtean cunbhalach eile a chleachdar gus seòlaidhean puist-d a dhearbhadh cuideachd a’ coimhead airson àrainn àrd-ìre 3-fhigearach, leithid .com; ge-tà, chan eil cuingealachadh sam bith air an fhad raointean àrd-ìre (me. Martech Zone tha 4 àireamhan - .zone).

Tha gnàthachadh seòladh puist-d fada nas iom-fhillte na tha thu a’ tuigsinn. Nuair a thèid a sgrìobhadh chun na h-ìre àbhaisteach, seo an fhìor abairt àbhaisteach airson seòladh puist-d, creideas gu 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])?

Chan eil HTML5 eadhon feumach air dearbhadh

Is e an dòigh as fhasa dèanamh cinnteach gu bheil post-d dligheach a rèir na h-ìre le bhith a’ cleachdadh raon cuir a-steach post-d HTML5:

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

Tha amannan ann, ge-tà, gum bi an tagradh lìn agad fhathast ag iarraidh an seòladh puist-d a dhearbhadh an dà chuid sa bhrobhsair nuair a thèid a chuir a-steach agus nuair a thèid a chuir chun t-seirbheisiche agad.

Regex Airson seòladh puist-d ceart ann am PHP

Is e glè bheag de dhaoine a tha ga thuigsinn, ach tha inbhe RFC aig PHP a-nis air a thogail a-steach dha gnìomh dearbhaidh sìoltachain.

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

Regex Airson seòladh puist-d ceart ann an javascript

Chan fheum inbhe ro iom-fhillte a bhith agad airson structar seòladh puist-d a sgrùdadh. Seo dòigh shìmplidh a 'cleachdadh JavaScript.

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

Gu dearbh, chan eil sin gu ìre RFC, agus mar sin is dòcha gum bi thu airson gach earrann den dàta a dhearbhadh gus dèanamh cinnteach gu bheil e dligheach. Cumaidh an abairt àbhaisteach seo ri mu 99.9% de sheòlaidhean puist-d a-muigh an sin. Chan eil e gu tur gu ìre àbhaisteach, ach tha e feumail airson cha mhòr pròiseact sam bith.

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);
}

Creideas airson na h-eisimpleirean seo a 'dol gu HTML.form.treòir.

Douglas Karr

Douglas Karr is e am fear a stèidhich an Martech Zone agus eòlaiche aithnichte air cruth-atharrachadh didseatach. Is e Doug a Prìomh Labhraiche Poblach is Margaidheachd. Is esan am VP agus cofounder de Highbridge, companaidh a tha gu sònraichte a ’cuideachadh chompanaidhean iomairt gus an tasgadh teicneòlais aca atharrachadh gu didseatach agus a’ cleachdadh teicneòlasan Salesforce. Tha e air ro-innleachdan margaidheachd didseatach agus toraidh a leasachadh airson Dell Technologies, GoDaddy, Salesforce, Webtrends, agus SmartFOCUS. Tha Douglas cuideachd na ùghdar air Blogadh Corporra airson Dummies agus co-ùghdar An leabhar gnìomhachais nas fheàrr.

41 Beachdan

  1. Airson foirmean le iomadh seòladh puist-d, bhiodh e math class = ”emailaddress” a dhèanamh. Ma tha an leabharlann prototype.js agad (http://www.prototypejs.org) air an duilleig faodaidh tu rudeigin mar seo a dhèanamh:

    var dligheach = fìor;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    $$ ('. emailaddress'). gach (gnìomh (post-d) {
    ma tha (! filter.test (email.value)) {
    rabhadh (? Thoir seachad seòladh puist-d dligheach?);
    post-d.focus;
    dligheach = meallta;
    }
    });
    tilleadh dligheach;

  2. Is toil leam a ’bheachd, ach bhithinn leisg gabhail ris an abairt riaghailteach shònraichte seo gun tuairisgeul air dè na seòlaidhean post-d laghail nach eil e a’ gabhail ris agus dè na seòlaidhean mì-laghail a tha e a ’ceadachadh.

    Mar eisimpleir de dhòigh-labhairt cunbhalach a bhios a ’dèanamh obair mhath an cois mìneachadh air na cùisean nach eil e a’ còmhdach, faic seo:

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

    Is e mo roghainn phearsanta a bhith a ’còmhdach a’ mhòr-chuid de na cùisean sìmplidh agus a ’toirt a-mach rabhadh airson a h-uile càil eile seach a bhith ga dhiùltadh. Ma tha Bob dha-rìribh ag iarraidh sto cuir a-steach bob@com.museum seach bob@ taigh-tasgaidh.com, carson nach leig thu leis?

    1. Hi Reg,

      Faodaidh tu deuchainn a dhèanamh air an Regex a ’cleachdadh Tester Regex air-loidhne.

      Cuideachd, gu cinnteach tha mòran a bharrachd a dh ’fhaodar a dhèanamh ma tha thu airson dèanamh cinnteach à Seòladh puist-d dligheach a rèir an RFC.

      Tha beagan adhbharan ann gun leigeil le cuideigin seòladh puist-d neo-dhligheach a chur a-steach:
      1. Cuiridh iad dragh ort nuair nach fhaigh am post-d a bha iad an dùil troimhe - ge bith an e do choire-sa a bh ’ann nach deach an seòladh a-steach ceàrr.
      2. Nam biodh com.museum na raon dligheach agus, canaidh sinn, Yahoo! dh ’obraich e - bheireadh seòladh puist-d sam bith a bhreab droch bhuaidh air cliù a’ chompanaidh agad airson lìbhrigeadh post-d. Dh ’fhaodadh seo leantainn gu bacadh air post-d a’ chompanaidh agad.
      3. Ma leig an solaraiche seirbheis post-d agad a-steach bob@com.museum, bhiodh tu cuideachd a ’pàigheadh ​​airson gach post-d a chuirear chun t-seòladh post-d sin gus an dì-chlàraich iad an seòladh sin air sgàth breaban. Bhithinn a ’stiùireadh soilleir bho ESP sam bith a leigeadh le seòladh puist-d neo-dhligheach mar sin - tha iad dìreach a’ toirt an airgead agad!

      Taing airson stad le!
      Doug

  3. Tha dòigh fada nas sìmplidh air an abairt a sgrìobhadh:
    var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
    - Leis an neach-atharrachaidh deireannach / i chan eil feum ann a bhith a ’comharrachadh an raon cùise àrd.
    - Chan eil fios agam mu dheidhinn TLD le àireamhan innte.
    Air nota taobh, leigidh mi TLD le suas ri 6 clàir; bidh feadhainn ùra a ’tighinn gu cunbhalach agus chan eil fios agad a-riamh (uill, is dòcha gum bi àireamhan aig feadhainn san àm ri teachd, tha fios agam).

  4. Haigh,

    Tha mi a ’feuchainn ri seo a chleachdadh ann an cruth a tha ann mar-thà ann an àm fìor, ach chan eil coltas gu bheil seo a’ dearbhadh ann an àm fìor mar an neach-dearbhaidh neart facal-faire agad…

    Air neo, a bheil mi dìreach cho clueless, agus a bheil e ag obair dhòmhsa?

  5. Dìreach ceartachadh beag: Tha () + a bharrachd aig an abairt cunbhalach aig an deireadh. Bu chòir dha leughadh:

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

    Leis a ’chiad fhear, ghabhadh ri TLDan de dh'fhaid sam bith (rud nach eil ceàrr a thaobh mearachd mar a thuirt feadhainn eile, ach nam b’ e sin an rùn dh ’fhaodadh an abairt a bhith air a ghiorrachadh).

  6. An urrainn dhut mìneachadh a dhèanamh gu cunbhalach air a ’chòd seo agus mar a tha e ag obair? Cuideachd mu dheidhinn .test - A bheil .test na aithris bunaiteach ann an javascript gus sgrùdadh a dhèanamh air rudan mar a rinn thu sa chòd gu h-àrd?

  7. Is e còd goirid a tha seo airson abairt post-d-

    gnìomh validateEmail (id)
    {
    var emailPattern = /^0a-zA-Z9-0._-9+@DLE-zA-Z2,4-XNUMX.-XNUMX+.DLEa-zA-ZXNUMX{XNUMXinneach$/;
    till emailPattern.test (id);

    }
    Deepak Rai
    varanasi

  8. Taing, ach tha mearachd san regex seo. Chan eil mi nam eòlaiche regex, ach dh'fheuch mi post-d:

    deuchainn @ deuchainn

    agus chaidh e seachad air an regex ... Mhothaich mi gu bheil e a ’teicheadh ​​bhon". " mar sin bu chòir dha a bhith:

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

  9. Uill, chan eil an seo ach sgrùdadh garbh ach chan eil e 100% neo-mhearachdach, mar eisimpleir bhiodh seo ceart gu leòr leis john_doe. @ gmail.com nach eil gu dearbh na sheòladh puist-d dligheach (chan eil dot air a cheadachadh mar charactar mu dheireadh ann am pàirt ionadail de phost-d).
    Cuideachd bhiodh e a ’gabhail ris john…doe@gmail.com a tha cuideachd neo-dhligheach bho nach urrainn barrachd air aon dot a bhith ann an sreath.

    Sin dìreach cuid de na lochdan a mhothaich mi aig a ’chiad sealladh.
    Chan eil an rùn agam bashing dìreach airson seo a chomharrachadh air eagal gu bheil cuideigin an dùil seo a chleachdadh mar sgrùdadh tèarainteachd - chan eil e tèarainte gu leòr.

    Airson fiosrachadh mu sheòlaidhean puist-d dligheach thoir sùil air seo: http://en.wikipedia.org/wiki/E-mail_address

  10. Deepac,

    Gu fìrinneach, tha mi a ’smaoineachadh gum feum thu teicheadh ​​a chuir a-steach airson an dot (“. ”). Mar sin, bu chòir an gnìomh agad a bhith, an àite sin:

    gnìomh validateEmail (id)
    {
    var emailPattern = /^0a-zA-Z9-0._-9+@DLE-zA-Z2,4-XNUMX.-XNUMX+.DLEa-zA-ZXNUMX{XNUMXinneach$/;
    till emailPattern.test (id);

    }

    Rud eile, bhiodh am dot a ’ciallachadh“ caractar sam bith ”. Tha mi a ’creidsinn gum feumar teicheadh ​​bho na caractaran sònraichte sin.

    thaobh,

    Federico

  11. gnìomh validateEmail (fld) {
    var error = ””;
    var tfld = trim (fld.value); // luach an achaidh le àite-geal air a ghearradh dheth
    var emailFilter = /^$^@XNUMX+@DLE^@.XNUMX+.DLE^@XNUMX*ww$/;
    var illeChars = / [(),;: \ ”[]] /;

    ma tha (fld.value == “Cuir a-steach do sheòladh puist-d”) {

    error = “Cuir a-steach do sheòladh post-d.n”;
    } eile ma tha (! emailFilter.test (tfld)) {// post-d deuchainn airson caractaran mì-laghail

    error = “Cuir a-steach seòladh puist-d dligheach.n”;
    } eile ma tha (fld.value.match (illeChars)) {

    error = “Cuir a-steach seòladh puist-d dligheach.n”;
    }
    mearachd tilleadh;
    }

  12. gnìomh validateEmail (fld) {
    var error = ””;
    var tfld = trim (fld.value); // luach an achaidh le àite-geal air a ghearradh dheth
    var emailFilter = /^$^@XNUMX+@DLE^@.XNUMX+.DLE^@XNUMX*ww$/;
    var illeChars = / [(),;: \ ”[]] /;

    ma tha (fld.value == “Cuir a-steach do sheòladh puist-d”) {

    error = “Cuir a-steach do sheòladh post-d.n”;
    } eile ma tha (! emailFilter.test (tfld)) {// post-d deuchainn airson caractaran mì-laghail

    error = “Cuir a-steach seòladh puist-d dligheach.n”;
    } eile ma tha (fld.value.match (illeChars)) {

    error = “Cuir a-steach seòladh puist-d dligheach.n”;
    }
    mearachd tilleadh;
    }

  13. gnìomh validateEmail (fld) {
    var error = ””;
    var tfld = trim (fld.value); // luach an achaidh le àite-geal air a ghearradh dheth
    var emailFilter = /^$^@XNUMX+@DLE^@.XNUMX+.DLE^@XNUMX*ww$/;
    var illeChars = / [(),;: \ ”[]] /;

    ma tha (fld.value == “Cuir a-steach do sheòladh puist-d”) {

    error = “Cuir a-steach do sheòladh post-d.n”;
    } eile ma tha (! emailFilter.test (tfld)) {// post-d deuchainn airson caractaran mì-laghail

    error = “Cuir a-steach seòladh puist-d dligheach.n”;
    } eile ma tha (fld.value.match (illeChars)) {

    error = “Cuir a-steach seòladh puist-d dligheach.n”;
    }
    mearachd tilleadh;
    }

  14. gnìomh validateEmail (fld) {
    var error = ””;
    var tfld = trim (fld.value); // luach an achaidh le àite-geal air a ghearradh dheth
    var emailFilter = /^$^@XNUMX+@DLE^@.XNUMX+.DLE^@XNUMX*ww$/;
    var illeChars = / [(),;: \ ”[]] /;

    ma tha (fld.value == “Cuir a-steach do sheòladh puist-d”) {

    error = “Cuir a-steach do sheòladh post-d.n”;
    } eile ma tha (! emailFilter.test (tfld)) {// post-d deuchainn airson caractaran mì-laghail

    error = “Cuir a-steach seòladh puist-d dligheach.n”;
    } eile ma tha (fld.value.match (illeChars)) {

    error = “Cuir a-steach seòladh puist-d dligheach.n”;
    }
    mearachd tilleadh;
    }

Dè do bheachd?

Tha an làrach seo a 'cleachdadh Akismet gus spama a lùghdachadh. Ionnsaich mar a thathar a 'pròiseasadh an dàta bheachdan agad.

artaigealan co-cheangailte