របៀបធ្វើឱ្យអាសយដ្ឋានអ៊ីមែលមានសុពលភាពជាមួយនឹងកន្សោមធម្មតា (Regex) ។ គំរូ HTML5, PHP, C#, Python និង Java Code ។
ស្ទើរតែគ្រប់ភាសាសរសេរកម្មវិធីទាំងអស់គាំទ្រកន្សោមធម្មតានាពេលបច្ចុប្បន្ននេះ។ ខណៈពេលដែលអ្នកអភិវឌ្ឍន៍មួយចំនួនមិនចូលចិត្តពួកគេ ពួកគេពិតជាការអនុវត្តល្អបំផុត ព្រោះជាធម្មតាពួកគេអនុវត្តមុខងារដូចជា សុពលភាពលឿនបំផុត ជាមួយនឹងធនធានម៉ាស៊ីនមេតិចជាងមុន។ អាសយដ្ឋានអ៊ីមែលគឺជាឧទាហរណ៍ដ៏ល្អឥតខ្ចោះ... ដែលពួកវាអាចពិនិត្យបានយ៉ាងងាយស្រួល ដើម្បីធានាថាពួកវាត្រូវបានធ្វើទ្រង់ទ្រាយត្រឹមត្រូវ។
សូមចងចាំថាការបញ្ជាក់គឺមិនមែនទេ។ ការផ្ទៀងផ្ទាត់. សុពលភាពគ្រាន់តែមានន័យថាទិន្នន័យដែលបានឆ្លងកាត់តាមទម្រង់ស្តង់ដារដែលត្រូវបានសាងសង់យ៉ាងត្រឹមត្រូវ។ រឿងគួរឱ្យចាប់អារម្មណ៍មួយចំនួនអំពីអាសយដ្ឋានអ៊ីមែលដែលអាចត្រូវបានខកខាននៅពេលមានសុពលភាព។
តើអាសយដ្ឋានអ៊ីមែលគឺជាអ្វី?
អាសយដ្ឋានអ៊ីមែល ដូចដែលបានកំណត់ដោយទម្រង់សារអ៊ីនធឺណិត (RFC 5322) ត្រូវបានបង្កើតឡើងដោយផ្នែកសំខាន់ពីរ៖ ផ្នែកមូលដ្ឋាន និងផ្នែកដែន។ ផ្នែកក្នុងស្រុកមកមុនពេល @
និមិត្តសញ្ញា និងផ្នែកដែនមកក្រោយ។ នេះជាឧទាហរណ៍នៃអាសយដ្ឋានអ៊ីមែល៖ example@example.com
, ដែលជាកន្លែងដែល example
គឺជាផ្នែកក្នុងស្រុក និង example.com
គឺជាផ្នែកនៃដែន។
- ក្នុងស្រុក - ផ្នែកក្នុងតំបន់នៃអាសយដ្ឋានអ៊ីមែលអាចមានការរួមបញ្ចូលគ្នានៃតួអក្សរអក្សរក្រមលេខ សញ្ញាសម្គាល់ សញ្ញាបូក និងសញ្ញាគូសក្រោម។ ជាធម្មតាវាត្រូវបានប្រើដើម្បីកំណត់អត្តសញ្ញាណប្រអប់សំបុត្រជាក់លាក់ ឬគណនីនៅលើម៉ាស៊ីនមេ។
- ដែន - ផ្នែកដែននៃអាសយដ្ឋានអ៊ីមែលមាន ឈ្មោះដែន និងដែនកម្រិតកំពូលរបស់វា (TLD) ឈ្មោះដែនគឺជាខ្សែអក្សរនៃតួអក្សរដែលកំណត់ម៉ាស៊ីនមេដែលផ្ទុកគណនីអ៊ីមែល។ TLD បញ្ជាក់ប្រភេទអង្គភាពដែលទទួលខុសត្រូវចំពោះឈ្មោះដែន ដូចជាលេខកូដប្រទេស (ឧ
.uk
) ឬដែនកម្រិតកំពូលទូទៅ (ឧ.com
,.org
).
ខណៈពេលដែលនេះជារចនាសម្ព័ន្ធមូលដ្ឋាននៃអាសយដ្ឋានអ៊ីមែល ច្បាប់សម្រាប់អ្វីដែលបង្កើតអាសយដ្ឋានអ៊ីមែលត្រឹមត្រូវគឺស្មុគស្មាញ។
តើអាសយដ្ឋានអ៊ីមែលអាចមានរយៈពេលប៉ុន្មាន?
ខ្ញុំត្រូវធ្វើជីកថ្ងៃនេះដើម្បីរកវាប៉ុន្តែតើអ្នកដឹងទេថាតើអាស័យដ្ឋានអ៊ីម៉ែលមានប្រវែងប៉ុន្មាន? តាមពិតវាត្រូវបានបែកជាផ្នែក ៗ ... Local@Domain.com.
- មូលដ្ឋានអាចមានពី 1 ទៅ 64 តួអក្សរ។
- ដែនអាចមានពី ១ ដល់ ២៥៥ តួអក្សរ។
នោះមានន័យថា - តាមបច្ចេកទេស - នេះអាចជាអាសយដ្ឋានអ៊ីមែលត្រឹមត្រូវ៖
loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc@loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com
សាកល្បងដាក់វានៅលើនាមប័ណ្ណ! គួរឱ្យអស់សំណើចណាស់ វាលអាសយដ្ឋានអ៊ីមែលភាគច្រើនត្រូវបានកំណត់ត្រឹម 100 តួអក្សរនៅលើគេហទំព័រ... ដែលមិនត្រឹមត្រូវតាមបច្ចេកទេស។ កន្សោមធម្មតាមួយចំនួនផ្សេងទៀតដែលប្រើដើម្បីធ្វើសុពលភាពអាសយដ្ឋានអ៊ីមែលក៏រកមើលដែនកម្រិតកំពូល 3 ខ្ទង់ផងដែរ ដូចជា .com; ទោះយ៉ាងណាក៏ដោយមិនមានដែនកំណត់ចំពោះប្រវែងទេ។ ដែនកម្រិតកំពូល (ឧ។ Martech Zone មាន 4 ខ្ទង់ – .zone)។
កន្សោមធម្មតា។
RegEx គឺជាវិធីសាស្រ្តដ៏ល្អឥតខ្ចោះសម្រាប់សាកល្បងអាសយដ្ឋានអ៊ីមែល ដោយសាររចនាសម្ព័ន្ធកម្មវិធីរបស់វា។ កន្សោមធម្មតាត្រូវបានគេប្រើយ៉ាងទូលំទូលាយក្នុងភាសាសរសេរកម្មវិធីនិងកម្មវិធីកែអត្ថបទ ហើយជាញឹកញាប់ត្រូវបានបញ្ចូលទៅក្នុងបណ្ណាល័យឬក្របខ័ណ្ឌដំណើរការអត្ថបទ។ ពួកគេត្រូវបានគាំទ្រដោយភាសាសរសេរកម្មវិធីជាច្រើន រួមទាំង Python, 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' />
ទោះយ៉ាងណាក៏ដោយ មានពេលខ្លះដែលកម្មវិធីគេហទំព័ររបស់អ្នកនឹងនៅតែចង់ធ្វើឱ្យអាសយដ្ឋានអ៊ីមែលមានសុពលភាពទាំងនៅក្នុងកម្មវិធីរុករកតាមអ៊ីនធឺណិតនៅពេលបញ្ចូល និងនៅពេលបញ្ជូនទៅកាន់ម៉ាស៊ីនមេរបស់អ្នក។
Regex សម្រាប់អាសយដ្ឋានអ៊ីមែលត្រឹមត្រូវនៅក្នុង PHP
មានមនុស្សតិចណាស់ដែលដឹងពីវា ប៉ុន្តែឥឡូវនេះ PHP មានស្តង់ដារ RFC ដែលបានបង្កើតឡើងនៅក្នុងរបស់វា។ មុខងារផ្ទៀងផ្ទាត់តម្រង.
if(filter_var("name@domain.com", FILTER_VALIDATE_EMAIL)) {
// Valid
}
else {
// Not Valid
}
Regex សម្រាប់អាសយដ្ឋានអ៊ីមែលត្រឹមត្រូវនៅក្នុង C#
នេះជាការបញ្ជាក់ជាមូលដ្ឋាននៃអាសយដ្ឋានអ៊ីមែលក្នុង 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 សម្រាប់អាសយដ្ឋានអ៊ីមែលត្រឹមត្រូវនៅក្នុង Java
នេះជាការបញ្ជាក់ជាមូលដ្ឋាននៃអាសយដ្ឋានអ៊ីមែលនៅក្នុង Java
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 សម្រាប់អាសយដ្ឋានអ៊ីមែលត្រឹមត្រូវនៅក្នុង Python
នេះជាការបញ្ជាក់ជាមូលដ្ឋាននៃអាសយដ្ឋានអ៊ីមែលនៅក្នុង Python៖
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 សម្រាប់អាសយដ្ឋានអ៊ីមែលត្រឹមត្រូវនៅក្នុង JavaScript
អ្នកមិនចាំបាច់មានស្តង់ដារស្មុគ្រស្មាញពេកសម្រាប់ពិនិត្យមើលរចនាសម្ព័ន្ធអាសយដ្ឋានអ៊ីមែលនោះទេ។ នេះជាមធ្យោបាយសាមញ្ញក្នុងការប្រើ JavaScript។
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.