Суроғаи почтаи электрониро бо JavaScript ва ибораҳои муқаррарӣ санҷед

Чанде пеш ман а Тафтиши қувваи парол бо истифодаи JavaScript ва ибораҳои муқаррарӣ. Дар ҳамон ёддошт, шумо инчунин метавонед сохтори суроғаи почтаи электрониро бо истифода аз ҳамон методологияи ифодаи муқаррарӣ (regex) тафтиш кунед.

Агар унсури шакли шумо дорои id = "emailaddress" ва шумо шакл илова мекунед onSubmit = "checkEmail бозгашт ();", Ин функсияи Javascript аст, ки шумо метавонед барои баргардонидани ҳушдор аз он истифода баред, агар суроғаи почтаи электронӣ сохтори дуруст дошта бошад ё на:

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

Функсия мундариҷаи почтаи электрониро бо филтр тасдиқ мекунад. Агар муқоиса ноком шавад, он огоҳӣ пайдо мекунад ва диққатро ба майдони суроғаи почтаи электронӣ бармегардонад!

41 Комментарии

  1. 1

    Барои варақаҳое, ки суроғаҳои сершумори почтаи электронӣ доранд, хуб мебуд, ки class = "emailaddress" иҷро карда шавад. Агар шумо китобхонаи prototype.js дошта бошед (http://www.prototypejs.org) дар саҳифа дохилшуда шумо метавонед чунин корҳоро иҷро кунед:

    var valid = true;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    $$ ('. emailaddress'). ҳар як (function (email) {
    агар (! filter.test (email.value)) {
    ҳушдор (? Лутфан суроғаи почтаи электронии дурустро пешниҳод кунед?);
    email.focus;
    эътибор = дурӯғ;
    }
    });
    бозгаштан эътибор дорад;

  2. 5
  3. 7

    Ин идея ба ман писанд аст, аммо ман дудилагӣ мекардам, ки ин ибораи муқаррариро бидуни тавсифи кадом суроғаҳои электронии ҳуқуқӣ қабул накунад ва кадом суроғаҳои ғайриқонуниро иҷозат диҳад.

    Барои намунаи ибораи муқаррарӣ, ки кори шоистаеро дар баробари шарҳи кадом ҳолатҳо дар бар намегирад, ба ин нигоҳ кунед:

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

    Афзалияти шахсии ман ин аст, ки аксари парвандаҳои оддиро пӯшонад ва барои ҳама чизи дигар огоҳӣ диҳад, на рад кардани онро. Агар Боб воқеан мехоҳад, ки супоред bob@com.museum бартар аз ин bob@museum.com, чаро ба ӯ иҷозат намедиҳад?

    • 8

      Салом Рег,

      Шумо метавонед Regex -ро бо истифода аз an санҷед Озмоишгари онлайн Regex.

      Инчунин, бешубҳа чизҳои бештаре вуҷуд доранд, ки метавонанд анҷом дода шаванд суроғаи имэйл мувофиқи RFC эътибор дорад.

      Якчанд сабабҳо мавҷуданд, ки касе ба суроғаи почтаи электронии нодуруст ворид нашавад:
      1. Вақте ки онҳо паёми электронии интизордоштаашон нагузарад, онҳо аз шумо хашмгин мешаванд - новобаста аз он ки гуноҳи шумо нодуруст ворид карда шудааст ё не.
      2. Агар com.museum домени дуруст бошад ва бигӯем, Yahoo! онро идора мекард - ҳар як суроғаи почтаи электронӣ, ки пас аз баргаштан ба эътибори ширкати шумо дар расонидани почтаи электронӣ таъсири манфӣ мерасонад. Ин метавонад боиси баста шудани ҳамаи почтаи электронии ширкати шумо гардад.
      3. Агар провайдери хидмати почтаи электронии шумо иҷозат диҳад, ки ворид шавед bob@com.museum, шумо инчунин барои ҳар як паёми электронӣ, ки ба он суроғаи почтаи электронӣ фиристода мешавад, пардохт мекунед, то он даме, ки ин суроға аз сабаби баромадан аз обуна хориҷ карда шавад. Ман аз ҳама гуна ESP, ки ба суроғаи почтаи электронии беэътибор имкон медиҳад, канорагирӣ мекунам - онҳо танҳо пули шуморо мегиранд!

      Ташаккур барои қатъ аз ҷониби!
      Doug

  4. 9
  5. 10

    Усули хеле соддаи навиштани ибора вуҷуд дорад:
    var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
    - Бо тағирдиҳандаи ниҳоӣ / i ба нишон додани доираи болоии парвандаҳо ҳоҷат нест.
    - Ман намедонам TLD бо рақамҳо дар он.
    Дар ёддошти тараф, ман TLD-ро бо то 6 аломат иҷозат медиҳам; нав мунтазам меоянд ва шумо ҳеҷ гоҳ намедонед (хуб, ояндаи somme ҳатто метавонанд дар он рақамҳо дошта бошанд, ман медонам).

  6. 11

    Салом,

    Ман кӯшиш мекунам, ки инро дар шакли мавҷуда дар вақти воқеӣ истифода барам, аммо чунин ба назар намерасад, ки дар вақти воқеӣ ба монанди санҷандаи қувваи пароли шумо эътибор дошта бошад ...

    Ё, оё ман ҳамин қадар бераҳм ҳастам ва ин барои ман кор намекунад?

  7. 12

    btw, ба ман он чизе ки шумо дар ин ҷо мегузаронед, ба ман хеле маъқул аст, дарсҳои шумо хеле оддӣ ҳастанд, ман инро бешубҳа қайд мекунам ....

  8. 13

    Танҳо як FYI; Ман ҳалли Ade-ро озмудаам, аммо намунаи дар боло овардашуда суроғаҳои почтаи электрониро бо апостроф тасдиқ намекунад .. (масалан, Mike.O'Hare@Whatever.com). Апострофҳо мувофиқи RFC 2821/2822 -> эътибор доранд http://www.faqs.org/rfcs/rfc2822.html

    HTH,
    Sanjay

  9. 16

    Хуб мебуд, агар мо ягон роҳе барои пешгирӣ кардани суроғаҳои почтаи электронии қалбакӣ дар шарҳҳо дар WordPress пайдо кунем

  10. 17

    Танҳо як ислоҳи хурд: Ибораи муқаррарӣ дар охири изофӣ () + дорад. Он бояд хонда шавад:

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

    Дар навбати аввал, ҳар гуна дарозии TLD қабул карда мешуд (ки ин ба таври ғаризӣ нест, чунон ки дигарон қайд карданд, аммо агар ин ният буд, ифодаи онро кӯтоҳ кардан мумкин буд).

  11. 18

    Лутфан ифодаи муқаррарии ин рамз ва тарзи корбарии онро шарҳ диҳед? Инчунин дар бораи .test - Оё .test изҳороти пешфарз дар javascript аст, то чизҳоеро, ки шумо дар коди боло кардаед, санҷед?

  12. 19
  13. 20

    Ин рамзи кӯтоҳ барои ифодаи почтаи электронӣ аст-

    Функсияи validateEmail (id)
    {
    var emailPattern = /^(a-zA-Z0-9._-................+@(a-zA-Z0-9.-] ++ [a-zA-Z
    баргардонидани emailPattern.test (id);

    }
    Дипак Рай
    варанасӣ

  14. 21
  15. 22
  16. 23

    Ташаккур, аммо дар ин regex хатогӣ вуҷуд дорад. Ман коршиноси regex нестам, аммо ман тавассути почтаи электронӣ кӯшиш кардам:

    озмоиш @ озмоиш

    ва он аз регекс гузашт ... Ман пай бурдам, ки аз "" гурехтан намерасад. ҳамин тавр бояд бошад:

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

  17. 24
  18. 27

    Хуб, ин танҳо як чеки ноҳамвор аст, аммо 100% дақиқ нест, масалан ин хуб хоҳад буд john_doe. @ gmail.com ки воқеан суроғаи почтаи электронӣ нест (нуқта ҳамчун аломати охирин дар қисми маҳаллии почтаи электронӣ манъ аст).
    Инчунин қабул мекунад john…doe@gmail.com ки он низ беэътибор аст, зеро дар пайдарпаӣ аз як нуқта зиёд буда наметавонад.

    Инҳо танҳо баъзе камбудиҳо ҳастанд, ки ман онҳоро дар назари аввал дидам.
    Ҳадафи ман ин нест, ки танҳо инро қайд кунам, агар касе нақша дорад, ки онро ҳамчун санҷиши амният истифода барад - ба қадри кофӣ бехатар нест.

    Барои гирифтани маълумот дар бораи суроғаҳои почтаи электронии боэътимод инро санҷед: http://en.wikipedia.org/wiki/E-mail_address

  19. 28

    Дипак,

    Дар асл, ман фикр мекунам, ки шумо бояд нуқтаеро барои ворид кардани нуқта (".") Татбиқ кунед. Ҳамин тавр, вазифаи шумо бояд ба ҷои он бошад:

    Функсияи validateEmail (id)
    {
    var emailPattern = /^(a-zA-Z0-9._-................+@(a-zA-Z0-9.-] ++ [a-zA-Z
    баргардонидани emailPattern.test (id);

    }

    Дар акси ҳол, нуқта маънои "ягон аломат" -ро дошт. Ман боварӣ дорам, ки чунин аломатҳои махсусро раҳо кардан лозим аст.

    мавриди,

    Федерико

  20. 29

    Функсияи validateEmail (fld) {
    var error = "";
    var tfld = trim (fld.value); // арзиши майдон бо фазои сафед тоза карда шудааст
    var emailFilter = /^ [^@]
    var illegalChars = / [(),;: \ ”[]] /;

    агар (fld.value == "Суроғаи почтаи электронии худро ворид кунед") {

    error = "Лутфан суроғаи почтаи электронии худро нависед .n";
    } else if (! emailFilter.test (tfld)) {// санҷиши почтаи электронӣ барои аломатҳои ғайриқонунӣ

    error = "Лутфан суроғаи почтаи электронии дурустро ворид кунед. n";
    } else if (fld.value.match (illegalChars)) {

    error = "Лутфан суроғаи почтаи электронии дурустро ворид кунед. n";
    }
    хатои баргаштан;
    }

  21. 30

    Функсияи validateEmail (fld) {
    var error = "";
    var tfld = trim (fld.value); // арзиши майдон бо фазои сафед тоза карда шудааст
    var emailFilter = /^ [^@]
    var illegalChars = / [(),;: \ ”[]] /;

    агар (fld.value == "Суроғаи почтаи электронии худро ворид кунед") {

    error = "Лутфан суроғаи почтаи электронии худро нависед .n";
    } else if (! emailFilter.test (tfld)) {// санҷиши почтаи электронӣ барои аломатҳои ғайриқонунӣ

    error = "Лутфан суроғаи почтаи электронии дурустро ворид кунед. n";
    } else if (fld.value.match (illegalChars)) {

    error = "Лутфан суроғаи почтаи электронии дурустро ворид кунед. n";
    }
    хатои баргаштан;
    }

  22. 31

    Функсияи validateEmail (fld) {
    var error = "";
    var tfld = trim (fld.value); // арзиши майдон бо фазои сафед тоза карда шудааст
    var emailFilter = /^ [^@]
    var illegalChars = / [(),;: \ ”[]] /;

    агар (fld.value == "Суроғаи почтаи электронии худро ворид кунед") {

    error = "Лутфан суроғаи почтаи электронии худро нависед .n";
    } else if (! emailFilter.test (tfld)) {// санҷиши почтаи электронӣ барои аломатҳои ғайриқонунӣ

    error = "Лутфан суроғаи почтаи электронии дурустро ворид кунед. n";
    } else if (fld.value.match (illegalChars)) {

    error = "Лутфан суроғаи почтаи электронии дурустро ворид кунед. n";
    }
    хатои баргаштан;
    }

  23. 32

    Функсияи validateEmail (fld) {
    var error = "";
    var tfld = trim (fld.value); // арзиши майдон бо фазои сафед тоза карда шудааст
    var emailFilter = /^ [^@]
    var illegalChars = / [(),;: \ ”[]] /;

    агар (fld.value == "Суроғаи почтаи электронии худро ворид кунед") {

    error = "Лутфан суроғаи почтаи электронии худро нависед .n";
    } else if (! emailFilter.test (tfld)) {// санҷиши почтаи электронӣ барои аломатҳои ғайриқонунӣ

    error = "Лутфан суроғаи почтаи электронии дурустро ворид кунед. n";
    } else if (fld.value.match (illegalChars)) {

    error = "Лутфан суроғаи почтаи электронии дурустро ворид кунед. n";
    }
    хатои баргаштан;
    }

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

      Аммо танҳо бо браузерҳои муосир кор мекунад. Мутаассифона, ҷаҳон ҳанӯз ҳам ба даст наомадааст. -
      Аз Паёмдони барои iPhone фиристодашуда

Ту чӣ фикр мекунӣ?

Ин сомона ба воситаи Akismet барои кам кардани спам истифода мешавад. Омӯзед, ки чӣ тавр маълумотҳои худро тафтиш кунед.