வழக்கமான வெளிப்பாடுகளுடன் (Regex) மின்னஞ்சல் முகவரியை எவ்வாறு சரிபார்க்கலாம். மாதிரி HTML5, PHP, C#, Python மற்றும் Java Code.
கிட்டத்தட்ட ஒவ்வொரு நிரலாக்க மொழியும் இப்போதெல்லாம் வழக்கமான வெளிப்பாடுகளை ஆதரிக்கிறது. சில டெவலப்பர்கள் அவற்றைப் பிடிக்கவில்லை என்றாலும், குறைவான சர்வர் ஆதாரங்களுடன் சரிபார்ப்பு போன்ற செயல்பாடுகளை மிக வேகமாகச் செய்வதால் அவை உண்மையிலேயே சிறந்த நடைமுறையாகும். மின்னஞ்சல் முகவரிகள் ஒரு சிறந்த உதாரணம்... அவை சரியாக வடிவமைக்கப்பட்டுள்ளன என்பதை உறுதிப்படுத்த எளிதாகச் சரிபார்க்கலாம்.
சரிபார்ப்பு இல்லை என்பதை நினைவில் கொள்ளுங்கள் சரிபார்ப்பு. சரிபார்த்தல் என்பது, அனுப்பப்பட்ட தரவு ஒழுங்காக கட்டமைக்கப்பட்ட ஒரு நிலையான வடிவமைப்பைப் பின்பற்றுவதாகும். சரிபார்க்கும் போது தவறவிடக்கூடிய மின்னஞ்சல் முகவரிகள் பற்றிய சில சுவாரஸ்யமான விஷயங்கள்.
மின்னஞ்சல் முகவரி என்றால் என்ன?
இணையச் செய்தி வடிவத்தால் வரையறுக்கப்பட்ட மின்னஞ்சல் முகவரி (RFC 5322), இரண்டு முக்கிய பகுதிகளால் ஆனது: ஒரு உள்ளூர் பகுதி மற்றும் ஒரு டொமைன் பகுதி. உள்ளூர் பகுதி முன் வருகிறது @
சின்னம் மற்றும் டொமைன் பகுதி பின்னர் வருகிறது. மின்னஞ்சல் முகவரிக்கான உதாரணம் இங்கே: example@example.com
, எங்கே example
உள்ளூர் பகுதியாகும் மற்றும் example.com
டொமைன் பகுதியாகும்.
- உள்ளூர் - மின்னஞ்சல் முகவரியின் உள்ளூர் பகுதியில் எண்ணெழுத்து எழுத்துக்கள், காலங்கள், ஹைபன்கள், கூட்டல் குறிகள் மற்றும் அடிக்கோடிட்டுகள் ஆகியவற்றின் கலவை இருக்கலாம். இது பொதுவாக ஒரு குறிப்பிட்ட அஞ்சல் பெட்டி அல்லது சர்வரில் உள்ள கணக்கை அடையாளம் காணப் பயன்படுகிறது.
- டொமைன் - மின்னஞ்சல் முகவரியின் டொமைன் பகுதி டொமைன் பெயர் மற்றும் அதன் உயர்மட்ட டொமைனைக் கொண்டுள்ளது (டிஎல்டி) டொமைன் பெயர் என்பது மின்னஞ்சல் கணக்கை வழங்கும் சேவையகத்தை அடையாளம் காணும் எழுத்துகளின் சரம். நாட்டின் குறியீடு போன்ற டொமைன் பெயருக்கு பொறுப்பான நிறுவன வகையை TLD குறிப்பிடுகிறது (எ.கா.
.uk
) அல்லது பொதுவான உயர்மட்ட டொமைன் (எ.கா.com
,.org
).
இது மின்னஞ்சல் முகவரியின் அடிப்படைக் கட்டமைப்பாக இருந்தாலும், சரியான மின்னஞ்சல் முகவரிக்கான விதிகள் சிக்கலானவை.
ஒரு மின்னஞ்சல் முகவரி எவ்வளவு நீளமாக இருக்க முடியும்?
அதைக் கண்டுபிடிக்க நான் இன்று சில தோண்டல்களைச் செய்ய வேண்டியிருந்தது, ஆனால் ஒரு மின்னஞ்சல் முகவரியின் சரியான நீளம் என்ன தெரியுமா? இது உண்மையில் பகுதிகளாக உடைக்கப்பட்டுள்ளது… Local@Domain.com.
- உள்ளூர் என்பது 1 முதல் 64 எழுத்துகள் வரை இருக்கலாம்.
- டொமைன் 1 முதல் 255 எழுத்துகளாக இருக்கலாம்.
அதாவது - தொழில்நுட்ப ரீதியாக - இது சரியான மின்னஞ்சல் முகவரியாக இருக்கலாம்:
loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc@loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com
அதை வணிக அட்டையில் பொருத்த முயற்சிக்கவும்! முரண்பாடாக, பெரும்பாலான மின்னஞ்சல் முகவரி புலங்கள் இணையத்தில் 100 எழுத்துகளுக்கு மட்டுமே வரையறுக்கப்பட்டுள்ளன… இது தொழில்நுட்ப ரீதியாக தவறானது. மின்னஞ்சல் முகவரிகளைச் சரிபார்க்கப் பயன்படுத்தப்படும் சில வழக்கமான வெளிப்பாடுகள், .com போன்ற 3-இலக்க உயர்நிலை டொமைனையும் தேடுகின்றன; இருப்பினும், நீளத்திற்கு எந்த வரம்பும் இல்லை உயர்மட்ட களங்கள் (எ.கா.. Martech Zone 4 இலக்கங்களைக் கொண்டுள்ளது - .zone).
வழக்கமான கோவைகள்
regex மின்னஞ்சல் முகவரியை அதன் நிரல் கட்டமைப்பின் காரணமாக சோதனை செய்வதற்கான சரியான முறையாகும். வழக்கமான வெளிப்பாடுகள் நிரலாக்க மொழிகள் மற்றும் உரை எடிட்டர்களில் பரவலாகப் பயன்படுத்தப்படுகின்றன, மேலும் அவை பெரும்பாலும் உரை செயலாக்க நூலகங்கள் அல்லது கட்டமைப்பில் ஒருங்கிணைக்கப்படுகின்றன. பைதான், ஜாவா, சி# மற்றும் ஜாவாஸ்கிரிப்ட் உள்ளிட்ட பல நிரலாக்க மொழிகளால் அவை ஆதரிக்கப்படுகின்றன.
மின்னஞ்சல் முகவரி தரப்படுத்தல் நீங்கள் உணர்ந்ததை விட மிகவும் சிக்கலானது. தரநிலையில் எழுதப்பட்டால், மின்னஞ்சல் முகவரிக்கான உண்மையான வழக்கமான வெளிப்பாடு இதோ 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.")
JavaScript இல் சரியான மின்னஞ்சல் முகவரிக்கு 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.