Seiceáil Seoladh Ríomhphoist le JavaScript agus Léirithe Rialta

Tamall ó shin chuir mé suas a Seiceálaí Neart Pasfhocal ag úsáid JavaScript agus Léirithe Rialta. Ar an nóta céanna sin, is féidir leat struchtúr seoladh ríomhphoist a sheiceáil freisin agus an mhodheolaíocht slonn rialta céanna (regex) á úsáid agat.

Má tá an id = "emailaddress" agus cuireann tú foirm leis onSubmit = ”seol ar ais checkEmail ();“, Is feidhm Javascript í seo is féidir leat a úsáid chun foláireamh a thabhairt ar ais má tá struchtúr bailí ag an seoladh ríomhphoist nó nach bhfuil:

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

Déanann an fheidhm ábhar an ríomhphoist a bhailíochtú le hábhar an scagaire. Má theipeann ar an gcomparáid, déanann sé foláireamh agus cuireann sé an fócas ar ais chuig an réimse seoltaí ríomhphoist!

41 Comments

  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) atá ar an leathanach is féidir leat rud mar seo a dhéanamh:

    var bailí = fíor;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    $$ ('. emailaddress'). gach ceann (feidhm (ríomhphost) {
    más rud é (! filter.test (email.value)) {
    foláireamh (? Tabhair seoladh bailí ríomhphoist le do thoil?);
    r-phost.focus;
    bailí = bréagach;
    }
    });
    tuairisceán bailí;

  2. 5
  3. 7

    Is maith liom an smaoineamh, ach ba mhaith liom leisce ort an abairt rialta áirithe seo a ghlacadh gan tuairisc ar na seoltaí ríomhphoist dlíthiúla nach nglacann sé leo agus cé na seoltaí mídhleathacha a cheadaíonn sé.

    Mar shampla de léiriú rialta a dhéanann jab réasúnta in éineacht le míniú ar na cásanna nach gclúdaíonn sé, féach seo:

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

    Is é mo rogha pearsanta an chuid is mó de na cásanna simplí a chlúdach agus rabhadh a eisiúint do gach rud eile seachas é a dhiúltú. Más mian le Bob cur isteach i ndáiríre bob@com.museum seachas bob@museum.com, cén fáth nach ligfeá dó?

    • 8

      Hi Reg,

      Is féidir leat an Regex a thástáil ag baint úsáide as Tástálaí Regex Ar Líne.

      Chomh maith leis sin, is cinnte go bhfuil i bhfad níos mó is féidir a dhéanamh más mian leat seoladh ríomhphoist bailí de réir an RFC.

      Tá cúpla cúis ann gan ligean do dhuine seoladh ríomhphoist neamhbhailí a iontráil:
      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!

      Go raibh maith agat as stopadh!
      Doug

  4. 9
  5. 10

    Tá bealach i bhfad níos simplí ann chun an abairt a scríobh:
    var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
    - Leis an modhnóir deiridh / i ní gá raon na gcásanna uachtair a chur in iúl.
    - Níl a fhios agam faoi TLD le huimhreacha ann.
    Ar nóta taobh, ligim do TLD le suas le 6 chathaoir; tagann cinn nua go rialta agus ní bhíonn a fhios agat riamh (bhuel, b’fhéidir go mbeidh uimhreacha ag daoine amach anseo, tá a fhios agam).

  6. 11

    Dia duit ann,

    Táim ag iarraidh é seo a úsáid i bhfoirm atá ann cheana i bhfíor-am, ach is cosúil nach bhfuil sé seo ag bailíochtú i bhfíor-am cosúil le do sheiceálaí neart pasfhocal…

    Nó, an bhfuil mé chomh clueless sin, agus an bhfuil sé ag obair domsa?

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

    Ceartú beag díreach: Tá breise () + breise ag an slonn rialta ag an deireadh. Ba chóir go léifeadh sé:

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

    Leis an gcéad cheann ghlacfaí le TLDanna ar aon fhaid (rud nach bhfuil mícheart go hinmheánach mar a thug daoine eile le fios, ach dá mba é sin an rún d’fhéadfaí an abairt a ghiorrú).

  11. 18

    An féidir leat míniú rialta a thabhairt ar léiriú rialta an chóid seo agus ar an gcaoi a n-oibríonn sé? Freisin faoi .test - An é .test ráiteas réamhshocraithe i javascript chun rudaí mar a rinne tú sa chód thuas a sheiceáil?

  12. 19

    Is cód gairid é seo le haghaidh léiriú ríomhphoist-

    feidhm validateEmail (id)
    {
    var emailPattern = /^DATa-zA-Z0-9._-0+@DLE-zA-Z9-2,4.-XNUMX+.DLE-zA-ZXNUMX {XNUMX} $ /;
    seol r-phostPattern.test (id) ar ais;

    }
    Deepak Rai
    varanasi

  13. 20

    Is cód gairid é seo le haghaidh léiriú ríomhphoist-

    feidhm validateEmail (id)
    {
    var emailPattern = /^DATa-zA-Z0-9._-0+@DLE-zA-Z9-2,4.-XNUMX+.DLE-zA-ZXNUMX {XNUMX} $ /;
    seol r-phostPattern.test (id) ar ais;

    }
    Deepak Rai
    varanasi

  14. 21
  15. 22
  16. 23

    Go raibh maith agat, ach tá earráid sa regex seo. Ní saineolaí regex mé, ach bhain mé triail as ríomhphost:

    tástáil @ tástáil

    agus rith sé an regex ... Thug mé faoi deara go bhfuil sé in easnamh éalú ón "." mar sin ba chóir dó a bheith:

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

  17. 24
  18. 27

    Bhuel, níl anseo ach seiceáil garbh ach níl sé 100% cruinn, mar shampla bheadh ​​sé seo ceart go leor john_doe. @ gmail.com nach seoladh bailí ríomhphoist é i ndáiríre (ní cheadaítear ponc mar charachtar deireanach sa chuid áitiúil den r-phost).
    Chomh maith leis sin ghlacfadh sé john…doe@gmail.com atá neamhbhailí freisin ós rud é nach féidir níos mó ná ponc amháin a bheith i seicheamh.

    Níl iontu seo ach roinnt lochtanna a thug mé faoi deara ar an gcéad amharc.
    Níl sé i gceist agam ach é seo a chur in iúl ar eagla go bhfuil duine ag pleanáil é seo a úsáid mar sheiceáil slándála - ní slán go leor.

    Chun faisnéis a fháil faoi sheoltaí bailí ríomhphoist, seiceáil é seo: http://en.wikipedia.org/wiki/E-mail_address

  19. 28

    Deepak,

    I ndáiríre, sílim go gcaithfidh tú éalú a chur i bhfeidhm ar an bponc (“.”). Mar sin, ba chóir go mbeadh d’fheidhm, ina ionad sin:

    feidhm validateEmail (id)
    {
    var emailPattern = /^DATa-zA-Z0-9._-0+@DLE-zA-Z9-2,4.-XNUMX+.DLE-zA-ZXNUMX {XNUMX} $ /;
    seol r-phostPattern.test (id) ar ais;

    }

    Seachas sin, chiallódh an ponc “carachtar ar bith”. Creidim gur gá éalú ó charachtair speisialta den sórt sin.

    mhéin,

    Federico

  20. 29

    feidhm validateEmail (fld) {
    var error = ””;
    var tfld = trim(fld.value); // value of field with whitespace trimmed off
    var emailFilter = /^$^@XNUMX+@DLE^@.XNUMX+.DLE@@**ww$/;
    var illeChars = / [(),;: \ ”[]] /;

    más rud é (fld.value == “Iontráil do sheoladh ríomhphoist”) {

    error = "Iontráil do sheoladh Ríomhphoist.n";
    } else if (!emailFilter.test(tfld)) { //test email for illegal characters

    error = “Iontráil seoladh bailí ríomhphoist.n”;
    } eile más rud é (fld.value.match (illeChars)) {

    error = “Iontráil seoladh bailí ríomhphoist.n”;
    }
    earráid ar ais;
    }

  21. 30

    feidhm validateEmail (fld) {
    var error = ””;
    var tfld = trim(fld.value); // value of field with whitespace trimmed off
    var emailFilter = /^$^@XNUMX+@DLE^@.XNUMX+.DLE@@**ww$/;
    var illeChars = / [(),;: \ ”[]] /;

    más rud é (fld.value == “Iontráil do sheoladh ríomhphoist”) {

    error = "Iontráil do sheoladh Ríomhphoist.n";
    } else if (!emailFilter.test(tfld)) { //test email for illegal characters

    error = “Iontráil seoladh bailí ríomhphoist.n”;
    } eile más rud é (fld.value.match (illeChars)) {

    error = “Iontráil seoladh bailí ríomhphoist.n”;
    }
    earráid ar ais;
    }

  22. 31

    feidhm validateEmail (fld) {
    var error = ””;
    var tfld = trim(fld.value); // value of field with whitespace trimmed off
    var emailFilter = /^$^@XNUMX+@DLE^@.XNUMX+.DLE@@**ww$/;
    var illeChars = / [(),;: \ ”[]] /;

    más rud é (fld.value == “Iontráil do sheoladh ríomhphoist”) {

    error = "Iontráil do sheoladh Ríomhphoist.n";
    } else if (!emailFilter.test(tfld)) { //test email for illegal characters

    error = “Iontráil seoladh bailí ríomhphoist.n”;
    } eile más rud é (fld.value.match (illeChars)) {

    error = “Iontráil seoladh bailí ríomhphoist.n”;
    }
    earráid ar ais;
    }

  23. 32

    feidhm validateEmail (fld) {
    var error = ””;
    var tfld = trim(fld.value); // value of field with whitespace trimmed off
    var emailFilter = /^$^@XNUMX+@DLE^@.XNUMX+.DLE@@**ww$/;
    var illeChars = / [(),;: \ ”[]] /;

    más rud é (fld.value == “Iontráil do sheoladh ríomhphoist”) {

    error = "Iontráil do sheoladh Ríomhphoist.n";
    } else if (!emailFilter.test(tfld)) { //test email for illegal characters

    error = “Iontráil seoladh bailí ríomhphoist.n”;
    } eile más rud é (fld.value.match (illeChars)) {

    error = “Iontráil seoladh bailí ríomhphoist.n”;
    }
    earráid ar ais;
    }

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

Cad é do bharúil?

Úsáideann an suíomh seo Akismet chun spam a laghdú. Foghlaim conas a dhéantar próiseáil ar do chuid tráchta.