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

    Ba mhaith an rud é foirmeacha le seoltaí ríomhphoist iolracha a dhéanamh class = ”emailaddress”. Má tá an leabharlann fréamhshamhla.js agat (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. Cuirfidh siad fearg ort nuair nach bhfaigheann an ríomhphost a raibh súil acu leis - is cuma más ortsa a bhí an locht nó nár iontráladh an seoladh go mícheart.
      2. Más fearann ​​bailí é com.museum agus, abair, Yahoo! d’oibrigh sé é - bheadh ​​tionchar diúltach ag aon seoladh ríomhphoist a phreab ar cháil do chuideachta as seachadadh ríomhphoist. D’fhéadfadh sé seo a bheith ina chúis le bac a chur ar r-phost uile do chuideachta.
      3. Má cheadaigh do sholáthraí seirbhíse ríomhphoist duit dul isteach bob@com.museum, d’íocfá freisin as gach ríomhphost a sheoltar chuig an seoladh ríomhphoist sin go dtí go ndíliostálfaidh siad an seoladh sin mar gheall ar phreabanna. Ba mhaith liom a bheith soiléir ó aon ESP a cheadódh seoladh ríomhphoist neamhbhailí mar sin - níl siad ag glacadh ach do chuid airgid!

      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 = Baile Átha Troim (fld.value); // luach na páirce le spás bán bearrtha as
    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";
    } eile más rud é (! emailFilter.test (tfld)) {// r-phost tástála do charachtair mhídhleathacha

    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 = Baile Átha Troim (fld.value); // luach na páirce le spás bán bearrtha as
    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";
    } eile más rud é (! emailFilter.test (tfld)) {// r-phost tástála do charachtair mhídhleathacha

    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 = Baile Átha Troim (fld.value); // luach na páirce le spás bán bearrtha as
    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";
    } eile más rud é (! emailFilter.test (tfld)) {// r-phost tástála do charachtair mhídhleathacha

    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 = Baile Átha Troim (fld.value); // luach na páirce le spás bán bearrtha as
    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";
    } eile más rud é (! emailFilter.test (tfld)) {// r-phost tástála do charachtair mhídhleathacha

    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.