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

    I gcás foirmeacha le seoltaí ríomhphoist iolracha, bheadh ​​sé go maith class = ”seoladh ríomhphoist” a dhéanamh. Má tá an leabharlann prototype.js agat (http://www.prototypejs.org) san áireamh ar an leathanach is féidir leat rud éigin 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').each( feidhm(ríomhphost) {
    más rud é (!filter.test(email.value)) {
    foláireamh(? Tabhair seoladh ríomhphoist bailí le do thoil?);
    ríomhphost.focus;
    bailí = bréagach;
    }
    });
    tuairisceán bailí;

  2. 5
  3. 7

    Is maith liom an smaoineamh, ach bheadh ​​leisce orm an slonn rialta áirithe seo a ghlacadh gan cur síos ar na seoltaí ríomhphoist dlíthiúla nach nglacann sé leo agus cé na seoltaí mídhleathacha a cheadaíonn sé.

    Le haghaidh sampla de shloinneadh 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 cuir isteach bob@com.museum seachas bob@museum.com, cén fáth nach lig dó?

    • 8

      Hi Reg,

      Is féidir leat an Regex a thástáil trí úsáid a bhaint as an 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 a chinntiú go seoladh ríomhphoist bailí i gcomhréir leis an RFC.

      Tá roinnt cúiseanna ann gan ligean do dhuine éigin seoladh ríomhphoist neamhbhailí a chur isteach:
      1. Beidh siad ag cur as duit nuair nach n-éiríonn leis an ríomhphost a raibh siad ag súil leis - is cuma cé acu an raibh an locht ort nó nach raibh an seoladh isteach go mícheart.
      2. Dá mba fhearann ​​bailí é com.museum agus, déarfainn, Yahoo! d'fheidhmigh sé é – bheadh ​​tionchar diúltach ag aon seoladh ríomhphoist a bheadh ​​ag preabadh ar cháil do chuideachta as seachadadh ríomhphoist. D’fhéadfadh go gcuirfí bac ar ríomhphost do chuideachta ar fad dá bharr.
      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íliosfadh siad an seoladh sin de bharr preabanna. Déarfainn aon ESP a cheadódh seoladh ríomhphoist neamhbhailí mar sin – níl le déanamh acu ach do chuid airgid a thógáil!

      Go raibh maith agat as stopadh!
      Doug

  4. 9
  5. 10

    Tá bealach i bhfad níos simplí chun an slonn 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 léiriú.
    – Níl a fhios agam ar bith TLD le huimhreacha ann.
    Ar nóta taobh, ceadaím do TLD le suas le 6 chars; tagann cinn nua isteach go rialta agus ní bhíonn a fhios agat riamh (bhuel, b’fhéidir go mbeidh uimhreacha istigh ag somme future ones, tá a fhios agam).

  6. 11

    Dia duit ann,

    Tá mé ag iarraidh é seo a úsáid i bhfoirm atá ann cheana féin i bhfíor-am, ach is cosúil nach bhfuil sé seo á bhailíochtú i bhfíor-am ar nós do sheiceálaí láidreachta do phasfhocal…

    Nó, an bhfuil mé chomh clue sin, agus nach bhfuil sé ag obair dom?

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

    Ceartúchán beag: Tá ()+ 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 fad ar bith (rud nach bhfuil mícheart intreach mar a dúirt daoine eile, ach dá mba é sin an rún d’fhéadfaí an slonn a ghiorrú).

  11. 18

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

  12. 19

    Is cód gearr é seo le haghaidh slonn ríomhphoist-

    feidhm validateEmail(id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
    seol ar ais emailPattern.test(id);

    }
    Deepak Rai
    varanasi

  13. 20

    Is cód gearr é seo le haghaidh slonn ríomhphoist-

    feidhm validateEmail(id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
    seol ar ais emailPattern.test(id);

    }
    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 ar éalú an "." mar sin ba chóir go mbeadh:

    /^([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 ríomhphoist bailí é i ndáiríre (ní cheadaítear ponc mar charachtar deiridh sa chuid áitiúil den ríomhphost).
    Chomh maith leis sin ghlacfadh sé john…doe@gmail.com atá neamhbhailí freisin toisc 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é ar intinn agam ach é seo a chur in iúl ar eagla go bhfuil sé beartaithe ag duine é seo a úsáid mar sheiceáil slándála - níl sé slán go leor.

    Le haghaidh faisnéise faoi sheoltaí bailí ríomhphoist seiceáil é seo: http://en.wikipedia.org/wiki/E-mail_address

  19. 28

    Deepak,

    I ndáiríre, is dóigh liom go gcaithfidh tú éalú a chur i bhfeidhm don phonc (“.”). Mar sin , ba chóir go mbeadh d'fheidhm, ina ionad sin:

    feidhm validateEmail(id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
    seol ar ais emailPattern.test(id);

    }

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

    mhéin,

    Federico

  20. 29

    feidhm validateEmail(fld) {
    var earráid =””;
    var tfld = Baile Átha Troim(fld.value); // luach na páirce le spás bán bearrtha as
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars = /[(),;:\”[]]/ ;

    má (fld.value == "Cuir isteach do Sheoladh ríomhphoist") {

    error = “Cuir isteach do sheoladh ríomhphoist.n”;
    } eile más rud é (!emailFilter.test(tfld)) {// ríomhphost tástála le haghaidh carachtair mhídhleathacha

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

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

  21. 30

    feidhm validateEmail(fld) {
    var earráid =””;
    var tfld = Baile Átha Troim(fld.value); // luach na páirce le spás bán bearrtha as
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars = /[(),;:\”[]]/ ;

    má (fld.value == "Cuir isteach do Sheoladh ríomhphoist") {

    error = “Cuir isteach do sheoladh ríomhphoist.n”;
    } eile más rud é (!emailFilter.test(tfld)) {// ríomhphost tástála le haghaidh carachtair mhídhleathacha

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

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

  22. 31

    feidhm validateEmail(fld) {
    var earráid =””;
    var tfld = Baile Átha Troim(fld.value); // luach na páirce le spás bán bearrtha as
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars = /[(),;:\”[]]/ ;

    má (fld.value == "Cuir isteach do Sheoladh ríomhphoist") {

    error = “Cuir isteach do sheoladh ríomhphoist.n”;
    } eile más rud é (!emailFilter.test(tfld)) {// ríomhphost tástála le haghaidh carachtair mhídhleathacha

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

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

  23. 32

    feidhm validateEmail(fld) {
    var earráid =””;
    var tfld = Baile Átha Troim(fld.value); // luach na páirce le spás bán bearrtha as
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars = /[(),;:\”[]]/ ;

    má (fld.value == "Cuir isteach do Sheoladh ríomhphoist") {

    error = “Cuir isteach do sheoladh ríomhphoist.n”;
    } eile más rud é (!emailFilter.test(tfld)) {// ríomhphost tástála le haghaidh carachtair mhídhleathacha

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

    error = “Cuir isteach seoladh ríomhphoist bailí.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.