Thoir sùil air seòladh puist-d le JavaScript agus abairtean cunbhalach

Beagan air ais chuir mi suas a Neach-dearbhaidh neart facal-faire a ’cleachdadh JavaScript agus abairtean cunbhalach. Air an aon nota sin, faodaidh tu cuideachd sgrùdadh a dhèanamh air structar seòladh puist-d a ’cleachdadh an aon dòigh-obrach abairt cunbhalach (regex).

Ma tha an eileamaid foirm agad id = ”emailaddress” agus cuiridh tu foirm ris onSubmit = ”till checkEmail ();“, Is e gnìomh Javascript a tha seo as urrainn dhut a chleachdadh gus rabhadh a thilleadh ma tha structar dligheach aig an t-seòladh post-d no nach eil:

function checkEmail() {
var email = document.getElementById('emailaddress');
var filter = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (!filter.test(email.value)) {
alert('Please provide a valid email address');
email.focus;
return false;
}
}

Bidh an gnìomh a ’dearbhadh susbaint a’ phuist-d gu susbaint an criathra. Ma dh ’fhailicheas an coimeas, thig e gu rabhadh agus tillidh e am fòcas air ais chun raon seòladh puist-d!

41 Beachdan

  1. 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. 5
  3. 7

    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@museum.com, carson nach leig thu leis?

    • 8

      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

  4. 9
  5. 10

    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).

  6. 11

    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?

  7. 12
  8. 13
  9. 16
  10. 17

    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).

  11. 18

    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?

  12. 19

    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

  13. 20

    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

  14. 21
  15. 22
  16. 23

    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})+$/

  17. 24
  18. 27

    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

  19. 28

    Deepak,

    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

  20. 29

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

  21. 30

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

  22. 31

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

  23. 32

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

  24. 33
  25. 34
  26. 35
  27. 36
  28. 37
  29. 38
  30. 39
  31. 40

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.