ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 8 · 4లో పాఠం 1కోర్సులో 29/32~12 min
మాడ్యూల్ పాఠాలు (1/4)

ఇమెయిల్‌ని ధృవీకరిస్తోంది

ఇమెయిల్‌ను "సరిగ్గా" ధృవీకరించడం అనేది కనిపించే దానికంటే చాలా కష్టతరమైన సమస్య: RFC 5322 ఒక రాక్షసుడు. ఆచరణలో మేము ** తగినంత మంచి** నమూనాను ఎంచుకుంటాము సాధారణ కేసులను అంగీకరిస్తుంది మరియు స్పష్టంగా తప్పుగా ఉన్న వాటిని తిరస్కరిస్తుంది.

Code
Pattern: ^[\w.+-]+@[\w-]+(?:\.[\w-]+)+$
  • [\w.+-]+ -- స్థానిక భాగం: అక్షరాలు, అంకెలు, _, ., +, -.
  • @ -- సెపరేటర్.
  • [\w-]+(?:\.[\w-]+)+ -- డొమైన్ + కనీసం ఒక TLD .తో వేరు చేయబడింది.

ఇది అంగీకరిస్తుంది: mario.rossi@example.com, foo+bar@sub.example.co.uk, user_123@test-domain.io.

ఇది తిరస్కరిస్తుంది: mario@, @example.com, mario@example (TLD లేదు), ఖాళీలు.

ట్రేడ్ ఆఫ్స్

ఎగువ నమూనా కాదు అంగీకరించదు:

  • కోట్ చేసిన స్ట్రింగ్‌లు "strange (things)"@example.com (RFC వాటిని అనుమతిస్తుంది).
  • యూనికోడ్ అక్షరాలతో డొమైన్‌లు (\u00fcber@m\u00fcnchen.de).
  • \w దాటని చాలా పొడవైన TLDలు (ఉదా. అంతర్జాతీయీకరించబడినవి).

మీకు అవి అవసరమైతే, u ఫ్లాగ్‌తో క్లాస్‌ని \p{L}కి విస్తరించండి లేదా డెలిగేట్ చేయండి ప్రత్యేక లైబ్రరీ.

ఇమెయిల్ ధ్రువీకరణ కోసం ట్రేడ్-ఆఫ్‌లు మరియు ఉత్తమ పద్ధతులు

ఇమెయిల్ చిరునామా వాస్తవానికి ఉందని ఏ రీజెక్స్ హామీ ఇవ్వదు. మితిమీరిన సంక్లిష్ట నమూనాలు పనితీరును దిగజార్చాయి మరియు అసాధారణమైన కానీ చెల్లుబాటు అయ్యే డొమైన్‌లను మినహాయించాయి. స్పష్టమైన అక్షరదోషాలను తిరస్కరించడానికి మరియు ధృవీకరణ కోడ్‌ను పంపడానికి సాధారణ ధ్రువీకరణ నమూనాను ఉపయోగించడం ఉత్తమం.

దీనిని ప్రయత్నించండి

వ్యాయామం#regex.m8.l1.e1
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

టెక్స్ట్‌లోని ప్రతి ఇమెయిల్‌ను గుర్తించండి. సాధారణ నమూనాను ఉపయోగించండి: @ ముందు అక్షరాలు/అంకెలు/చుక్కలు, కనీసం ఒక చుక్కతో డొమైన్.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

బహుళ TLDలను ఆమోదించడానికి స్థానిక భాగాన్ని [\\w.+-]+కి మరియు డొమైన్‌ను [\\w-]+\\.[\\w.-]+కి విస్తరించండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం సమీక్షించండి

వ్యాయామం#regex.m8.l1.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

ప్రతి ఇమెయిల్ యొక్క డొమైన్‌ను (@ తర్వాత భాగం) పేరున్న సమూహం `డొమినియో`గా క్యాప్చర్ చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

పేరున్న సమూహంలో డొమైన్ భాగాన్ని చుట్టండి: (?<dominio>[\\w.-]+).

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

అదనపు సవాలు

వ్యాయామం#regex.m8.l1.e3
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

Find the domain part of an email (everything after `@`), excluding the `@` sign using lookbehind.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

డొమైన్ క్యారెక్టర్ క్లాస్ ముందు సానుకూల రూపాన్ని (?<=@) ఉపయోగించండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది