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'diversi indirizzi tal-email, 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 validu = veru;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    $$ ('. emailaddress'). kull wieħed (funzjoni (email) {
    jekk (! filter.test (email.value)) {
    twissija (? Jekk jogħġbok ipprovdi indirizz tal-email validu?);
    email.fokus;
    validu = falz;
    }
    });
    ritorn validu;

  2. 5
  3. 7

    L-idea togħġobni, imma niddejjaq li naddotta din l-espressjoni regolari partikolari mingħajr deskrizzjoni ta 'liema indirizzi legali tal-email 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 ħafna mill-każijiet sempliċi u noħroġ twissija għal kull ħaġa oħra minflok ma nirrifjutaha. Jekk Bob verament irid jissottometti bob@com.museum minflok bob@museum.com, għaliex ma tħallihx?

    • 8

      Hello Reg,

      Tista 'tittestja r-Regex billi tuża Inster Regex onlajn.

      Ukoll, hemm definittivament ħafna iktar li jista 'jsir jekk trid tiżgura indirizz email huwa validu skont l-RFC.

      Hemm ftit raġunijiet biex ma tħallix lil xi ħadd idaħħal indirizz tal-email invalidu:
      1. Huma jdejquk meta l-email li stennew ma jgħaddix - irrispettivament minn jekk kienx tort tiegħek jew le l-indirizz iddaħħal ħażin.
      2. Jekk com.museum kien dominju validu u, ejja ngħidu, Yahoo! ħaddimha - kwalunkwe indirizz tal-email li jkun irkupra jkollu impatt negattiv fuq ir-reputazzjoni tal-kumpanija tiegħek għall-kunsinna tal-email. Dan jista 'jwassal għall-imblukkar tal-email tal-kumpanija tiegħek kollha.
      3. Jekk il-fornitur tas-servizz tal-email tiegħek ħallik tidħol bob@com.museum, tħallas ukoll għal kull email mibgħuta lil dak l-indirizz tal-email sakemm ma jħallsux dak l-indirizz minħabba bounces. Jien nidderieġi 'l bogħod minn kwalunkwe ESP li jippermetti indirizz tal-email 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;
    - Bl-aħħar modifikatur / i m'hemmx bżonn li tiġi indikata l-medda ta 'l-ittri kbar.
    - Ma naf bl-ebda waħda TLD bin-numri fiha.
    Fuq nota tal-ġenb, jiena nippermetti TLD sa 6 karattri; oħrajn ġodda jaslu regolarment u qatt ma taf (ukoll, xi wħud fil-ġejjieni jista 'jkollhom numri fih, naf).

  6. 11

    Hi hemmhekk,

    Qed nagħmel użu minn dan f'forma eżistenti f'ħin reali, iżda dan ma jidhirx li qed jivvalida f'ħin reali bħall-kontrollur tal-qawwa tal-password tiegħek ...

    Jew, jien sempliċement bla idea, u ma jaħdimx għalija?

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

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

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

    Bl-ewwel waħda kull tul TLDs jiġi aċċettat (li mhux intrinsekalment ħażin kif indikaw oħrajn, imma 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 - Huwa .test 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 tal-email-

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

    }
    Deepak Rai
    varanasi

  14. 21
  15. 22
  16. 23

    Grazzi, imma hemm żball f'dan ir-regex. M'inix espert regex, imma ppruvajt email:

    test @ test

    u għadda r-regex ... Innutajt li huwa nieqes milli jaħrab mill- "." mela għandu jkun:

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

  17. 24
  18. 27

    Ukoll, din hija biss verifika approssimattiva iżda mhux preċiża ta '100%, per eżempju dan ikun tajjeb 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).
    Aċċetta wkoll john…doe@gmail.com li huwa wkoll invalidu peress li ma jistax ikun hemm aktar minn punt wieħed f'sekwenza.

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

    Għal tagħrif dwar indirizzi tal-posta elettronika 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ħad-dot ("."). 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}$/;
    jirritorna emailPattern.test (id);

    }

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

    Tislijiet,

    Federico

  20. 29

    funzjoni validateEmail (fld) {
    var żball = ””;
    var tfld = trim (fld.value); // valur tal-qasam bi spazju vojt imnaqqas
    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)) {// ittestja l-email għal karattri illegali

    żball = “Jekk jogħġbok daħħal indirizz tal-email validu.n”;
    } inkella jekk (fld.value.match (illegalChars)) {

    żball = “Jekk jogħġbok daħħal indirizz tal-email validu.n”;
    }
    żball ta 'ritorn;
    }

  21. 30

    funzjoni validateEmail (fld) {
    var żball = ””;
    var tfld = trim (fld.value); // valur tal-qasam bi spazju vojt imnaqqas
    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)) {// ittestja l-email għal karattri illegali

    żball = “Jekk jogħġbok daħħal indirizz tal-email validu.n”;
    } inkella jekk (fld.value.match (illegalChars)) {

    żball = “Jekk jogħġbok daħħal indirizz tal-email validu.n”;
    }
    żball ta 'ritorn;
    }

  22. 31

    funzjoni validateEmail (fld) {
    var żball = ””;
    var tfld = trim (fld.value); // valur tal-qasam bi spazju vojt imnaqqas
    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)) {// ittestja l-email għal karattri illegali

    żball = “Jekk jogħġbok daħħal indirizz tal-email validu.n”;
    } inkella jekk (fld.value.match (illegalChars)) {

    żball = “Jekk jogħġbok daħħal indirizz tal-email validu.n”;
    }
    żball ta 'ritorn;
    }

  23. 32

    funzjoni validateEmail (fld) {
    var żball = ””;
    var tfld = trim (fld.value); // valur tal-qasam bi spazju vojt imnaqqas
    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)) {// ittestja l-email għal karattri illegali

    żball = “Jekk jogħġbok daħħal indirizz tal-email validu.n”;
    } inkella jekk (fld.value.match (illegalChars)) {

    żball = “Jekk jogħġbok daħħal indirizz tal-email validu.n”;
    }
    żball ta 'ritorn;
    }

  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.