Iċċekkja l-Indirizz tal-Email bi JavaScript u Espressjonijiet Regolari

Ftit ilu poġġejt Kontroll tal-Qawwa tal-Password bl-użu tal-JavaScript u Espressjonijiet Regolari. Fuq dik l-istess nota, tista 'wkoll tiċċekkja l-istruttura ta' indirizz elettroniku li tuża l-istess metodoloġija ta 'espressjoni regolari (regex).

Jekk l-element tal-formola tiegħek għandu id = "emailaddress" u żżid formola onSubmit = ”return checkEmail ();“, Din hija funzjoni Javascript li tista 'tuża biex tirritorna twissija jekk l-indirizz elettroniku jkollu struttura valida jew le:

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

Il-funzjoni tivvalida l-kontenut tal-email għal dak tal-filtru. Jekk il-paragun ifalli, joħroġ twissija u jirritorna l-attenzjoni lura fil-qasam tal-indirizz tal-email!

41 Kummenti

  1. 1

    Għal formoli b'indirizzi email multipli, ikun tajjeb li tagħmel class="emailaddress". Jekk għandek il-librerija prototype.js (http://www.prototypejs.org) inkluż fil-paġna tista' tagħmel xi ħaġa bħal din:

    var valid = veru;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    $$('.emailaddress').kull( funzjoni(email) {
    jekk (!filter.test(email.value)) {
    allert(?Jekk jogħġbok ipprovdi indirizz elettroniku validu?);
    email.focus;
    validu = falz;
    }
    });
    ritorn validu;

  2. 5
  3. 7

    L-idea jogħġobni, imma nkun lura milli nadotta din l-espressjoni regolari partikolari mingħajr deskrizzjoni ta' liema indirizzi tal-email legali ma taċċettax u liema indirizzi illegali tippermetti.

    Għal eżempju ta’ espressjoni regolari li tagħmel xogħol deċenti flimkien ma’ spjegazzjoni ta’ liema każijiet ma tkoprix, ara dan:

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

    Il-preferenza personali tiegħi hija li nkopri l-biċċa l-kbira tal-każijiet sempliċi u noħroġ twissija għal kull ħaġa oħra aktar milli niċħadha. Jekk Bob verament irid jissottometti bob@com.museum minflok bob@museum.com, għaliex ma ħallih?

    • 8

      Hi Reg,

      Tista' tittestja r-Regex billi tuża an Online Regex Tester.

      Ukoll, hemm definittivament ħafna aktar li jista 'jsir jekk inti tixtieq li tiżgura an indirizz email hija valida skond l-RFC.

      Hemm ftit raġunijiet biex xi ħadd ma jitħalla jdaħħal indirizz elettroniku invalidu:
      1. Jiddejquk meta l-email li stennew ma jgħaddix – irrispettivament minn jekk kienx tort tiegħek jew le li l-indirizz iddaħħal ħażin.
      2. Jekk com.museum kien dominju validu u, ejja ngħidu, Yahoo! operatha – kwalunkwe indirizz tal-email li rkupra jkollu impatt negattiv fuq ir-reputazzjoni tal-kumpanija tiegħek għall-kunsinna tal-email. Dan jista' jwassal biex l-email kollu tal-kumpanija tiegħek jiġi mblukkat.
      3. Jekk il-fornitur tas-servizz tal-email tiegħek ippermettilek tidħol bob@com.museum, inti tħallas ukoll għal kull email mibgħuta lil dak l-indirizz tal-email sakemm ma jċedux l-abbonament għal dak l-indirizz minħabba bounces. Jiena niddejjaq minn kwalunkwe ESP li jippermetti indirizz elettroniku invalidu bħal dak – qed jieħdu flusek biss!

      Grazzi tieqaf!
      Doug

  4. 9
  5. 10

    Hemm mod ħafna aktar sempliċi biex tikteb l-espressjoni:
    var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
    – Bil-modifikatur finali /i m'hemmx bżonn li tindika l-firxa ta' majju.
    – Ma naf xejn TLD bin-numri fiha.
    Fuq nota tal-ġenb, jien inħalli TLD b'sa 6 chars; oħrajn ġodda jaslu regolarment u qatt ma tkun taf (ukoll, somme futuri jista 'saħansitra jkollhom numri fiha, naf).

  6. 11

    Hi hemmhekk,

    Qed nipprova nuża dan f'forma eżistenti f'ħin reali, iżda dan ma jidhirx li qed jivvalida f'ħin reali bħall-kontrollur tas-saħħa tal-password tiegħek ...

    Jew, jien biss li clueless, u mhux qed jaħdem għalija?

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

    Korrezzjoni żgħira biss: L-espressjoni regolari għandha ()+ żejda fl-aħħar. Għandu jaqra:

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

    Bl-ewwel wieħed ikun aċċettat kwalunkwe TLDs ta' tul (li mhux intrinsecament ħażin kif enfasizzaw oħrajn, iżda jekk dik kienet l-intenzjoni l-espressjoni tista' titqassar).

  11. 18

    Tista' jekk jogħġbok tispjega l-espressjoni regolari ta' dan il-kodiċi u kif jaħdem? Ukoll dwar .test - .test hija dikjarazzjoni default fil-javascript biex tiċċekkja affarijiet bħalma għamilt fil-kodiċi ta 'hawn fuq?

  12. 19
  13. 20

    Dan huwa kodiċi qasir għall-espressjoni bl-email-

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

    }
    Deepak Rai
    varanasi

  14. 21
  15. 22
  16. 23

    Grazzi, imma hemm żball f'dan ir-reġex. Jien mhux espert regex, imma ppruvajt email:

    test@test

    u għadda r-reġex... Innutajt li huwa nieqes milli jaħrab il-"." għalhekk għandu jkun:

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

  17. 24
  18. 27

    Ukoll, dan huwa biss kontroll approssimattiv iżda mhux preċiż 100%, pereżempju dan ikun tajjeb ma john_doe.@gmail.com li fil-fatt mhuwiex indirizz tal-posta elettronika validu (it-tikka mhix permessa bħala l-aħħar karattru fil-parti lokali tal-posta elettronika).
    Ukoll jaċċetta john...doe@gmail.com li huwa wkoll invalidu peress li ma jistax ikun hemm aktar minn tikka waħda f'sekwenza.

    Dawn huma biss xi difetti li ndunajt mal-ewwel daqqa t'għajn.
    L-intenzjoni tiegħi mhix bashing biss li nirrimarka dan f'każ li xi ħadd qed jippjana li juża dan bħala kontroll tas-sigurtà - mhux sikur biżżejjed.

    Għal informazzjoni dwar indirizzi tal-email validi iċċekkja dan: http://en.wikipedia.org/wiki/E-mail_address

  19. 28

    Deepak,

    Fil-fatt, naħseb li għandek bżonn tapplika ħarba għat-tikka ("."). Allura, il-funzjoni tiegħek għandha tkun, minflok:

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

    }

    Inkella, it-tikka tkun tfisser "kwalunkwe karattru". Nemmen li karattri speċjali bħal dawn jeħtieġ li jinħarbu.

    Tislijiet,

    Federico

  20. 29

    funzjoni validateEmail(fld) {
    var żball="";
    var tfld = trim(fld.value); // valur tal-qasam bl-ispazju abjad mirqum
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    jekk (fld.value == “Daħħal l-indirizz tal-email tiegħek”) {

    żball = "Jekk jogħġbok daħħal l-indirizz tal-Email tiegħek.n";
    } inkella jekk (!emailFilter.test(tfld)) { //test email għal karattri illegali

    żball = "Jekk jogħġbok daħħal indirizz elettroniku validu.n";
    } inkella jekk (fld.value.match(illegalChars)) {

    żball = "Jekk jogħġbok daħħal indirizz elettroniku validu.n";
    }
    ritorn żball;
    }

  21. 30

    funzjoni validateEmail(fld) {
    var żball="";
    var tfld = trim(fld.value); // valur tal-qasam bl-ispazju abjad mirqum
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    jekk (fld.value == “Daħħal l-indirizz tal-email tiegħek”) {

    żball = "Jekk jogħġbok daħħal l-indirizz tal-Email tiegħek.n";
    } inkella jekk (!emailFilter.test(tfld)) { //test email għal karattri illegali

    żball = "Jekk jogħġbok daħħal indirizz elettroniku validu.n";
    } inkella jekk (fld.value.match(illegalChars)) {

    żball = "Jekk jogħġbok daħħal indirizz elettroniku validu.n";
    }
    ritorn żball;
    }

  22. 31

    funzjoni validateEmail(fld) {
    var żball="";
    var tfld = trim(fld.value); // valur tal-qasam bl-ispazju abjad mirqum
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    jekk (fld.value == “Daħħal l-indirizz tal-email tiegħek”) {

    żball = "Jekk jogħġbok daħħal l-indirizz tal-Email tiegħek.n";
    } inkella jekk (!emailFilter.test(tfld)) { //test email għal karattri illegali

    żball = "Jekk jogħġbok daħħal indirizz elettroniku validu.n";
    } inkella jekk (fld.value.match(illegalChars)) {

    żball = "Jekk jogħġbok daħħal indirizz elettroniku validu.n";
    }
    ritorn żball;
    }

  23. 32

    funzjoni validateEmail(fld) {
    var żball="";
    var tfld = trim(fld.value); // valur tal-qasam bl-ispazju abjad mirqum
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    jekk (fld.value == “Daħħal l-indirizz tal-email tiegħek”) {

    żball = "Jekk jogħġbok daħħal l-indirizz tal-Email tiegħek.n";
    } inkella jekk (!emailFilter.test(tfld)) { //test email għal karattri illegali

    żball = "Jekk jogħġbok daħħal indirizz elettroniku validu.n";
    } inkella jekk (fld.value.match(illegalChars)) {

    żball = "Jekk jogħġbok daħħal indirizz elettroniku validu.n";
    }
    ritorn żball;
    }

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

What do you think?

Dan is-sit juża Akismet biex inaqqas l-ispam. Tgħallem kif il-kumment tiegħek huwa pproċessat.