नियमित अभिव्यक्ति (Regex) को साथ ईमेल ठेगाना कसरी मान्य गर्ने। नमूना HTML5, PHP, C#, पाइथन, र जाभा कोड।
लगभग हरेक प्रोग्रामिङ भाषाले आजकल नियमित अभिव्यक्तिहरूलाई समर्थन गर्दछ। जबकि केहि विकासकर्ताहरूले तिनीहरूलाई मन पराउँदैनन्, तिनीहरू साँच्चिकै उत्तम अभ्यास हुन् किनभने तिनीहरू सामान्यतया कम सर्भर स्रोतहरूसँग धेरै छिटो प्रमाणीकरण जस्ता कार्यहरू प्रदर्शन गर्छन्। इमेल ठेगानाहरू एक उत्तम उदाहरण हुन्... जहाँ तिनीहरू सजिलैसँग जाँच गर्न सकिन्छ कि तिनीहरू ठीकसँग ढाँचामा छन्।
ध्यान राख्नुहोस् कि प्रमाणीकरण छैन प्रमाणिकरण। प्रमाणीकरणको सरल अर्थ हो कि पास गरिएको डाटाले एक मानक ढाँचा पछ्याउँछ जुन ठीकसँग निर्माण गरिएको छ। इमेल ठेगानाहरू बारे केही रोचक कुराहरू जुन प्रमाणीकरणमा छुटाउन सकिन्छ।
इमेल ठेगाना के हो?
इन्टरनेट सन्देश ढाँचा द्वारा परिभाषित एक इमेल ठेगाना (RFC 5322), दुई मुख्य भागहरू मिलेर बनेको छ: स्थानीय भाग र डोमेन भाग। स्थानीय भाग अघि आउँछ @
प्रतीक र डोमेन भाग पछि आउँछ। यहाँ एउटा इमेल ठेगानाको उदाहरण हो: example@example.com
जहाँ example
स्थानीय भाग हो र example.com
डोमेन भाग हो।
- स्थानीय - इमेल ठेगानाको स्थानीय भागमा अल्फान्यूमेरिक क्यारेक्टरहरू, अवधिहरू, हाइफनहरू, थप चिन्हहरू, र अन्डरस्कोरहरूको संयोजन हुन सक्छ। यो सामान्यतया सर्भरमा एक विशिष्ट मेलबक्स वा खाता पहिचान गर्न प्रयोग गरिन्छ।
- डोमेन - इमेल ठेगानाको डोमेन भागमा डोमेन नाम र यसको शीर्ष-स्तर डोमेन (TLD)। डोमेन नाम क्यारेक्टरहरूको स्ट्रिङ हो जसले इमेल खाता होस्ट गर्ने सर्भरलाई पहिचान गर्छ। TLD ले डोमेन नामको लागि जिम्मेवार निकायको प्रकार निर्दिष्ट गर्दछ, जस्तै देशको कोड (जस्तै
.uk
) वा सामान्य शीर्ष-स्तर डोमेन (जस्तै.com
,.org
).
जबकि यो इमेल ठेगानाको आधारभूत संरचना हो, वैध इमेल ठेगाना गठन गर्ने नियमहरू जटिल छन्।
इमेल ठेगाना कति लामो हुन सक्छ?
मैले फेला पार्नको लागि आज केहि खन्ने काम गर्नुपर्यो, तर तपाईंलाई थाहा छ ईमेल ठेगानाको मान्य लम्बाइ के हो? यो वास्तवमा भागहरु मा भाँचिएको छ ... Local@Domain.com.
- स्थानीय 1 देखि 64 वर्ण हुन सक्छ।
- डोमेन १ देखि २1 वर्णहरू हुनसक्दछ।
यसको मतलब - प्राविधिक रूपमा - यो एक मान्य इमेल ठेगाना हुन सक्छ:
loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc@loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com
यसलाई व्यापार कार्डमा फिट गर्ने प्रयास गर्नुहोस्! विडम्बनाको रूपमा, अधिकांश इमेल ठेगाना क्षेत्रहरू वेबमा 100 क्यारेक्टरहरूमा सीमित छन् ... जुन प्राविधिक रूपमा गलत छ। इमेल ठेगानाहरू मान्य गर्न प्रयोग गरिने केही अन्य नियमित अभिव्यक्तिहरूले पनि 3-अङ्कको शीर्ष-स्तर डोमेन खोज्छ, जस्तै .com; यद्यपि, को लम्बाइमा कुनै सीमा छैन शीर्ष-स्तर डोमेनहरू (जस्तै Martech Zone 4 अंकहरू छन् - क्षेत्र)।
नियमित अभिव्यक्ति
RegEx यसको प्रोग्रामेटिक संरचनाको कारणले इमेल ठेगाना परीक्षण गर्नको लागि उत्तम विधि हो। नियमित अभिव्यक्तिहरू प्रोग्रामिङ भाषाहरू र पाठ सम्पादकहरूमा व्यापक रूपमा प्रयोग गरिन्छ र प्राय: पाठ-प्रशोधन पुस्तकालयहरू वा फ्रेमवर्कहरूमा एकीकृत हुन्छन्। तिनीहरू धेरै प्रोग्रामिङ भाषाहरू द्वारा समर्थित छन्, पाइथन, Java, C#, र JavaScript, अन्यहरू बीच।
इमेल ठेगाना मानकीकरण तपाईले महसुस गर्नु भन्दा धेरै जटिल छ। जब मानकमा लेखिएको छ, यहाँ ईमेल ठेगानाको लागि साँचो नियमित अभिव्यक्ति हो, क्रेडिटमा Regexr:
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
यो नियमित अभिव्यक्ति ढाँचाले इमेल ठेगानाको आधारभूत ढाँचासँग मेल खान्छ, जसमा अल्फान्यूमेरिक क्यारेक्टरहरू, अवधिहरू, हाइफनहरू, थप चिन्हहरू, र प्रयोगकर्ता नाममा अन्डरस्कोरहरू समावेश छन्, त्यसपछि एउटा @
प्रतीक, डोमेन नाम पछि। यो नोट गर्न महत्त्वपूर्ण छ कि यो ढाँचाले इमेल ठेगानाको ढाँचा मात्र जाँच गर्नेछ र वास्तविक होइन अस्तित्व इमेल ठेगाना को।
HTML5 ले इमेल संरचना प्रमाणीकरण समावेश गर्दछ
HTML5 इमेल इनपुट फिल्ड प्रयोग गरेर मानक अनुसार इमेल मान्य छ भनी सुनिश्चित गर्ने सबैभन्दा सजिलो माध्यम हो:
<input type='email' name='email' placeholder='name@domain.com' />
त्यहाँ समयहरू छन्, यद्यपि, तपाईंको वेब अनुप्रयोगले अझै पनि ब्राउजरमा प्रवेश गर्दा र तपाईंको सर्भरमा पेश गर्दा दुवै इमेल ठेगाना मान्य गर्न चाहन्छ।
PHP मा एक उचित इमेल ठेगाना को लागी Regex
थोरै मानिसहरूले यो महसुस गर्छन्, तर PHP मा अब RFC मानक यसमा निर्मित छ फिल्टर प्रमाणीकरण प्रकार्य.
if(filter_var("name@domain.com", FILTER_VALIDATE_EMAIL)) {
// Valid
}
else {
// Not Valid
}
C# मा उचित इमेल ठेगानाको लागि Regex
C# मा इमेल ठेगानाको आधारभूत प्रमाणीकरण यहाँ छ।
using System;
using System.Text.RegularExpressions;
public class EmailValidator
{
public static bool IsValidEmail(string email)
{
string pattern = @"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$";
return Regex.IsMatch(email, pattern);
}
}
यो विधि को व्यावहारिक उपयोग:
string email = "example@example.com";
if (EmailValidator.IsValidEmail(email))
{
Console.WriteLine(email + " is a valid email address.");
}
else
{
Console.WriteLine(email + " is not a valid email address.");
}
जाभा मा एक उचित इमेल ठेगाना को लागी Regex
यहाँ जाभामा इमेल ठेगानाको आधारभूत प्रमाणीकरण छ
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EmailValidator {
private static final Pattern VALID_EMAIL_ADDRESS_REGEX =
Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
public static boolean isValidEmail(String email) {
Matcher matcher = VALID_EMAIL_ADDRESS_REGEX .matcher(email);
return matcher.find();
}
}
यो विधि को व्यावहारिक उपयोग:
String email = "example@example.com";
if (EmailValidator.isValidEmail(email)) {
System.out.println(email + " is a valid email address.");
} else {
System.out.println(email + " is not a valid email address.");
}
पाइथनमा उचित इमेल ठेगानाको लागि Regex
यहाँ पाइथनमा इमेल ठेगानाको आधारभूत प्रमाणीकरण छ:
import re
def is_valid_email(email):
pattern = re.compile(r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$')
return True if pattern.match(email) else False
यो विधि को व्यावहारिक उपयोग:
email = "example@example.com"
if is_valid_email(email):
print(f"{email} is a valid email address.")
else:
print(f"{email} is not a valid email address.")
जाभास्क्रिप्टमा उचित इमेल ठेगानाको लागि Regex
इमेल ठेगाना संरचना जाँच गर्नको लागि तपाईसँग धेरै जटिल मानक हुनुपर्दैन। यहाँ जाभास्क्रिप्ट प्रयोग गर्ने सरल माध्यम छ।
function validateEmail(email)
{
var re = /\\S+@\\S+/;
return re.test(email);
}
निस्सन्देह, त्यो RFC मानकमा होइन, त्यसैले तपाईले डेटाको प्रत्येक खण्डलाई मान्य छ भनी सुनिश्चित गर्न चाहन सक्नुहुन्छ। यो नियमित अभिव्यक्तिले त्यहाँ बाहिर रहेका इमेल ठेगानाहरूको लगभग 99.9% पालना गर्नेछ। यो पूर्ण रूपमा मानकमा छैन, तर यो लगभग कुनै पनि परियोजनाको लागि उपयोगी छ।
function validateEmail(email)
{
var re = /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/;
return re.test(email);
}
यी केही उदाहरणहरूको श्रेय जान्छ HTML.form.guide.