የኢሜል አድራሻ በጃቫስክሪፕት እና በመደበኛ መግለጫዎች ያረጋግጡ

ከጥቂት ጊዜ በፊት ሀ ጃቫስክሪፕትን እና መደበኛ አገላለጾችን በመጠቀም የይለፍ ቃል ጥንካሬ ፈታሽ. በዚያው ማስታወሻ ላይ በተመሳሳይ መደበኛ አገላለጽ (regex) ዘዴን በመጠቀም የኢሜል አድራሻ አወቃቀርን ማረጋገጥ ይችላሉ ፡፡

የቅጽ አካልዎ ካለው id = ”ኢሜላድራስ” እና አንድ ቅጽ ያክላሉ onSubmit = ”የመልሶ ማረጋገጫ ኢሜል ();የኢሜል አድራሻው ትክክለኛ መዋቅር ካለው ወይም ከሌለው ማስጠንቀቂያ ለመመለስ ይህ የጃቫ ስክሪፕት ተግባር ነው

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

    ብዙ የኢሜል አድራሻዎች ላሏቸው ቅጾች የክፍል = ”ኢሜላድራስ” ማድረግ ጥሩ ይሆናል ፡፡ የ ‹prototype.js ቤተ-መጽሐፍት› ካለዎት (http://www.prototypejs.org) በገጹ ላይ የተካተተ እንደዚህ ያለ ነገር ማድረግ ይችላሉ-

    var ትክክለኛ = እውነት;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    $$ ('. ኢሜልአድራሽ')። እያንዳንዱ (ተግባር (ኢሜይል) {
    ከሆነ (! filter.test (email.value)) {
    ማስጠንቀቂያ (? እባክዎን ትክክለኛ የኢሜይል አድራሻ ያቅርቡ?);
    ኢሜል.ፎከስ;
    ትክክለኛ = ሐሰት;
    }
    });
    መመለስ ትክክለኛ;

  2. 5
  3. 7

    ሀሳቡን ወድጄዋለሁ ፣ ግን የትኛውን ህጋዊ ኢሜል እንደማይቀበል እና የትኛውን ህገ-ወጥ አድራሻ እንደሚፈቅድ በመግለጽ ይህንን ልዩ መደበኛ መግለጫ ከመስጠት ወደኋላ እላለሁ ፡፡

    ከማይመለከታቸው ጉዳዮች ማብራሪያ ጎን ለጎን ጥሩ ሥራን ለሚሠራ መደበኛ አገላለጽ ምሳሌ ፣ ይህንን ይመልከቱ-

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

    የእኔ የግል ምርጫ አብዛኞቹን ቀላል ጉዳዮችን መሸፈን እና ውድቅ ከማድረግ ይልቅ ለሌላው ሁሉ ማስጠንቀቂያ መስጠት ነው ፡፡ ቦብ በእውነቱ ስቶ ማቅረብ ከፈለጉ bob@com.museum ይልቁንም bob@museum.com፣ ለምን አይፈቅድለትም?

    • 8

      ሰላም ሬጅ ፣

      አንድን በመጠቀም ሬጅክስን መሞከር ይችላሉ የመስመር ላይ ሬጅክስ ሞካሪ.

      እንዲሁም ፣ አንድ ማረጋገጥ ከፈለጉ በእርግጠኝነት ብዙ ተጨማሪ ነገሮች አሉ የ ኢሜል አድራሻ በ RFC መሠረት የሚሰራ ነው።

      አንድ ሰው ልክ ያልሆነ የኢሜል አድራሻ እንዲያስገባ የማይፈቅዱ ጥቂት ምክንያቶች አሉ
      1. የጠበቁት ኢሜል ባልተላለፈበት ጊዜ እነሱ ላይ ይናደዳሉ - አድራሻዎ በስህተት የገባው የእርስዎ ጥፋት ይሁን ወይም አለመሆኑ ፡፡
      2. com.museum ትክክለኛ ጎራ ከሆነ እና እንበል ፣ ያሁ! ያሰራው - የሚያንቀሳቅሰው ማንኛውም የኢሜል አድራሻ በኩባንያዎ በኢሜል ማድረስ ዝና ላይ አሉታዊ ተጽዕኖ ያሳድራል ፡፡ ይህ የድርጅትዎ ኢሜል ሁሉ እንዲታገድ ሊያደርግ ይችላል ፡፡
      3. የኢሜል አገልግሎት አቅራቢዎ እንዲያስገቡ ከፈቀዱ bob@com.museum፣ እንዲሁም በጉዳዮች ምክንያት ያንን አድራሻ ከደንበኝነት ምዝገባ እስከሚያወጡ ድረስ ለዚያ ኢሜል አድራሻ ለተላከው ለእያንዳንዱ ኢሜይል ይከፍላሉ ፡፡ እንደዚህ ያለ ልክ ያልሆነ የኢሜል አድራሻ ከሚፈቅድልኝ ከማንኛውም ኢ.ኤስ.ፒ. ራቅ እላለሁ - ገንዘብዎን ብቻ እየወሰዱ ነው!

      ስለቆሙ እናመሰግናለን!
      ዳግ

  4. 9
  5. 10

    አገላለጹን ለመጻፍ በጣም ቀላሉ መንገድ አለ
    var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
    - በመጨረሻው መቀየሪያ / እኔ የከፍተኛውን የጉዳይ ክልል ማመልከት አያስፈልግም ፡፡
    - እኔ የማውቀው ነገር የለም TLD በውስጡ ቁጥሮች አሉት።
    በማስታወሻ ማስታወሻ ላይ TLD ን እስከ 6 ቻርዶች ድረስ እፈቅዳለሁ ፡፡ አዳዲሶቹ በመደበኛነት ይመጣሉ እናም በጭራሽ አታውቁም (ደህና ፣ የወደፊቱ ምናልባት በውስጣቸው ቁጥሮች ሊኖሩት ይችላል ፣ አውቃለሁ)።

  6. 11

    ሃይ እንዴት ናችሁ,

    ይህንን በእውነተኛ ጊዜ ውስጥ ባለው ነባር ቅጽ ለመጠቀም እያሰብኩ ነው ፣ ግን ይህ እንደ የይለፍ ቃልዎ ጥንካሬ አመልካች በእውነተኛ ጊዜ የሚያረጋግጥ አይመስልም…

    ወይም ፣ እኔ ያ ምንም ፍንጭ የሌለኝ ነኝ ፣ እና ለእኔ የማይሠራ ነው?

  7. 12

    btw ፣ እዚህ ምን እየሰሩ እንደሆነ በጣም እወዳለሁ ፣ ትምህርቶችዎ ​​በጣም ቀላል ናቸው ፣ በትክክል ይህንን እልባት እሰጣለሁ…።

  8. 13

    ልክ አንድ FYI; የአዴን መፍትሄ አልሞከርኩም ግን ከላይ ያለው ንድፍ የኢ-ሜይል አድራሻዎችን በውስጣቸው ሐዋርያዎችን የያዘ ትክክለኛነት አያረጋግጥም .. (ለምሳሌ ፣ Mike.O'Hare@Whatever.com) ፡፡ ሐዋርያቶች በ RFC 2821/2822 -> ዋጋ አላቸው http://www.faqs.org/rfcs/rfc2822.html

    ኤች ቲ ፣
    ሳንጄይ

  9. 16
  10. 17

    ትንሽ እርማት ብቻ መደበኛ መግለጫው መጨረሻ ላይ አንድ ተጨማሪ () + አለው። ሊነበብ ይገባል

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

    በአንደኛው ማንኛውም ርዝመት TLDs ተቀባይነት ያገኛል (ይህም ሌሎች እንዳመለከቱት በስህተት ስህተት አይደለም ፣ ግን ዓላማው ከሆነ አገላለፁ ሊያጥር ይችላል)።

  11. 18

    እባክዎን የዚህን ኮድ መደበኛ መግለጫ እና እንዴት እንደሚሰራ ማብራራት ይችላሉ? እንዲሁም ስለ. ሙከራ - ከላይ ባለው ኮድ ውስጥ እንዳደረጉት ሁሉ ነገሮችን ለመፈተሽ በጃቫ ስክሪፕት ውስጥ ነባሪ መግለጫ ነው?

  12. 19
  13. 20

    ይህ ለኢሜል መግለጫ አጭር ኮድ ነው-

    ተግባር ማረጋገጫ ኢሜል (መታወቂያ)
    {
    var emailPattern = / ^-a-zA-Z0-9.
    መመለስ emailPattern.test (መታወቂያ);

    }
    ዲፋክ ራይ
    ቫራኒሳ

  14. 21
  15. 22
  16. 23

    እናመሰግናለን ፣ ግን በዚህ ሬጅክስ ውስጥ አንድ ስህተት አለ። እኔ የሬጌክስ ባለሙያ አይደለሁም ፣ ግን ኢሜልን ሞከርኩ-

    ሙከራ @ ሙከራ

    እና regex ን አል passedል the ከ “” ማምለጥ የጎደለው እንደሆነ አስተዋልኩ ፡፡ ስለዚህ መሆን አለበት

    /^([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

    ዲፓክ ፣

    በእውነቱ ፣ ለ ‹ዶት› (“”) ማምለጫ ማመልከት ያስፈልግዎታል ብዬ አስባለሁ ፡፡ ስለዚህ ፣ በምትኩ የእርስዎ ተግባር መሆን አለበት

    ተግባር ማረጋገጫ ኢሜል (መታወቂያ)
    {
    var emailPattern = / ^-a-zA-Z0-9.
    መመለስ emailPattern.test (መታወቂያ);

    }

    አለበለዚያ ነጥቡ “ማናቸውም ቁምፊ” ማለት ይሆናል። እንደነዚህ ያሉት ልዩ ገጸ-ባህሪያት ማምለጥ አለባቸው ብዬ አምናለሁ ፡፡

    ከሰላምታ ጋር,

    Federico

  20. 29

    ተግባር ማረጋገጫ ኢሜል (fld) {
    var ስህተት = ””;
    var tfld = መከርከም (fld.value); በነጭ ቦታ የተስተካከለ የመስክ ዋጋ
    var emailFilter = / ^^^]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/
    var illegalChars = / [(),;: \ ”[]] /;

    ከሆነ (fld.value == “የኢሜል አድራሻዎን ያስገቡ”) {

    error = “እባክዎን የኢሜል አድራሻዎን ያስገቡ። n”;
    } ሌላ ከሆነ (! emailFilter.test (tfld)) {// ህገወጥ ገጸ-ባህሪያትን ኢሜል ለመሞከር

    ስህተት = “እባክዎን የሚሰራ የኢሜል አድራሻ ያስገቡ። n”;
    } ሌላ ከሆነ (fld.value.match (ህገወጥChars)) {

    ስህተት = “እባክዎን የሚሰራ የኢሜል አድራሻ ያስገቡ። n”;
    }
    የመመለስ ስህተት;
    }

  21. 30

    ተግባር ማረጋገጫ ኢሜል (fld) {
    var ስህተት = ””;
    var tfld = መከርከም (fld.value); በነጭ ቦታ የተስተካከለ የመስክ ዋጋ
    var emailFilter = / ^^^]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/
    var illegalChars = / [(),;: \ ”[]] /;

    ከሆነ (fld.value == “የኢሜል አድራሻዎን ያስገቡ”) {

    error = “እባክዎን የኢሜል አድራሻዎን ያስገቡ። n”;
    } ሌላ ከሆነ (! emailFilter.test (tfld)) {// ህገወጥ ገጸ-ባህሪያትን ኢሜል ለመሞከር

    ስህተት = “እባክዎን የሚሰራ የኢሜል አድራሻ ያስገቡ። n”;
    } ሌላ ከሆነ (fld.value.match (ህገወጥChars)) {

    ስህተት = “እባክዎን የሚሰራ የኢሜል አድራሻ ያስገቡ። n”;
    }
    የመመለስ ስህተት;
    }

  22. 31

    ተግባር ማረጋገጫ ኢሜል (fld) {
    var ስህተት = ””;
    var tfld = መከርከም (fld.value); በነጭ ቦታ የተስተካከለ የመስክ ዋጋ
    var emailFilter = / ^^^]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/
    var illegalChars = / [(),;: \ ”[]] /;

    ከሆነ (fld.value == “የኢሜል አድራሻዎን ያስገቡ”) {

    error = “እባክዎን የኢሜል አድራሻዎን ያስገቡ። n”;
    } ሌላ ከሆነ (! emailFilter.test (tfld)) {// ህገወጥ ገጸ-ባህሪያትን ኢሜል ለመሞከር

    ስህተት = “እባክዎን የሚሰራ የኢሜል አድራሻ ያስገቡ። n”;
    } ሌላ ከሆነ (fld.value.match (ህገወጥChars)) {

    ስህተት = “እባክዎን የሚሰራ የኢሜል አድራሻ ያስገቡ። n”;
    }
    የመመለስ ስህተት;
    }

  23. 32

    ተግባር ማረጋገጫ ኢሜል (fld) {
    var ስህተት = ””;
    var tfld = መከርከም (fld.value); በነጭ ቦታ የተስተካከለ የመስክ ዋጋ
    var emailFilter = / ^^^]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/
    var illegalChars = / [(),;: \ ”[]] /;

    ከሆነ (fld.value == “የኢሜል አድራሻዎን ያስገቡ”) {

    error = “እባክዎን የኢሜል አድራሻዎን ያስገቡ። n”;
    } ሌላ ከሆነ (! emailFilter.test (tfld)) {// ህገወጥ ገጸ-ባህሪያትን ኢሜል ለመሞከር

    ስህተት = “እባክዎን የሚሰራ የኢሜል አድራሻ ያስገቡ። n”;
    } ሌላ ከሆነ (fld.value.match (ህገወጥChars)) {

    ስህተት = “እባክዎን የሚሰራ የኢሜል አድራሻ ያስገቡ። n”;
    }
    የመመለስ ስህተት;
    }

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

ምን አሰብክ?

ይህ ጣቢያ አይፈለጌን ለመቀነስ Akismet ይጠቀማል. አስተያየትዎ እንዴት እንደሚሰራ ይወቁ.