چگونه میتوانیم در JavaScript آدرس ایمیل را اعتبارسنجی کنیم؟
![](https://media.hapigan.com/avatars/3080afdd90724629854cefe03bef62ef.webp)
برای اعتبار سنجی آدرس ایمیل در جاوااسکریپت میتوانیم از عبارات منظم (Regular Expressions) استفاده کنیم که یکی از بهترین روشها برای اعتبارسنجی دادهها محسوب میشوند.
برای اعتبارسنجی یک آدرس ایمیل، میتوان از الگوهای زیر استفاده کرد:
const validateEmail = (email) => {
return String(email)
.toLowerCase()
.match(
/^(([^<>()[\]\\.,;:\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,}))$/
);
};
این الگوی استفاده شده میتواند اکثریت آدرسهای ایمیل معتبر را شناسایی کند. با این حال، لازم به ذکر است که هیچ روش اعتبارسنجیای نمیتواند به طور کامل تمام آدرسهای ایمیل معتبر را پوشش دهد. برای مثال، نقصهایی در این الگو وجود دارد که ممکن است برخی از آدرسهای معتبر را رد کند و همچنین آدرسهایی با دامنههای جدید یا غیر سنتی را نمیتواند شناسایی کند.
به همین دلیل، استفاده از الگوهای سادهتر نیز پیشنهاد میشود. به عنوان نمونه:
function validateEmail(email) {
var re = /^\S+@\S+\.\S+$/;
return re.test(email);
}
این الگو، شرایط اصلی یک آدرس ایمیل معتبر را بررسی میکند، ولی با توجه به نقایص ذکر شده در الگوی قبلی، بهتر است همیشه در سمت سرور نیز اعتبارسنجی انجام شود تا از نادرستیهای احتمالی جلوگیری شود.
از طرفی، باید در نظر داشت که در زمان اعتبارسنجی، کابران ممکن است از آدرسهای ایمیل غیرمعمول یا جدید استفاده کنند، که ممکن است این آدرسها هم به طور صحیح کار کنند ولی الگوهای اعتبارسنجی استاندارد قادر به شناسایی آنها نباشند.
در نهایت، هیچیک از این الگوها به تنهایی قاطع نیستند و بهتر است همواره قبل از استفاده، آنها را روی دادههای واقعی آزمایش کنید و در صورت لزوم، تغییرات خود را برای تطابق بهتر با نیازهای خاص پروژه خود اعمال کنید.