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

    For forms with multiple email addresses, it would be good to do class=”emailaddress”. If you have the prototype.js library (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. They will get annoyed at you when the email they expected doesn’t get through – regardless of whether or not it was your fault the address was entered incorrectly.
      2. If com.museum was a valid domain and, let’s say, Yahoo! operated it – any email address that bounced would have a negative impact on your company’s reputation for email delivery. This could lead to all of your company’s email being blocked.
      3. If your email service provider allowed you to enter bob@com.museum, you’d also pay for each email sent to that email address until they unsubscribed that address due to bounces. I would steer clear of any ESP that would allow an invalid email address like that – they’re just taking your money!

      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); // value of field with whitespace trimmed off
    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”;
    } else if (!emailFilter.test(tfld)) { //test email for illegal characters

    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); // value of field with whitespace trimmed off
    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”;
    } else if (!emailFilter.test(tfld)) { //test email for illegal characters

    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); // value of field with whitespace trimmed off
    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”;
    } else if (!emailFilter.test(tfld)) { //test email for illegal characters

    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); // value of field with whitespace trimmed off
    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”;
    } else if (!emailFilter.test(tfld)) { //test email for illegal characters

    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.