اعتبارسنجی فیلدهای email و url با عبارات منظم (Regular Expressions)

2 دیدگاه

در بسیاری از پروژه هایی که برنامه نویسان وب می نویسند به اعتبارسنجی(Validation) ورودی های کاربران نیاز پیدا می کنند . مثلا رد فرم های تماس ، ثبت نام ، نظر و … که باید چک شود که آیا داده ورودی کاربر مطابق همان فرمتی است که می خواهیم یا خیر . دو مورد از این کار بیشتر از همه کاربرد دارند که اعتبارسنجی ایمیل و وب سایت است .

این کار با استفاده از عبارات منظم صورت می گیرد .در ادامه دو نمونه از اعتبارسنجی ایمیل و وبسایت را می بینیم .

 

اعتبارسنجی Email

ایمیل فیلدی است که در اکثر فرم ها وجود دارد و پراستفاده است .برای چک کردن صحت آن می توانید از کد زیر استفاده کنید :

if(!preg_match("/[a-zA-Z0-9._-]+@[a-zA-Z0-9\.-]+\.[a-zA-Z\.]+/",$email))
{
   echo 'لطفا ايميل صحيح وارد نماييد';
}

در کد بالا یک رشته از عبارات منظم را به تابع preg_match دادیم و در آرگومان بعدی آن یک متغیر را که حاوی ایمیل است که کاربر وارد کرده است . اگر ایمیل با الگوی داده شده مطابقت داشته باشد ، این تابع مقدار درست یا true و اگر نباشد مقدار غلط یا false را بر می گرداند.شاید برای بعضی از دوستان ناآشنا به جزئیات php سوال ایجاد شود که کار علامت ! قبل از تابع چیست ؟ کار این عملگر ، برعکس کردن نتیجه برگشت داده شده توسط تابع است .

 

اعتبارسنجی URL

برای تشخیص درست بودن یک آدرس وب نیز می توانیم از کد زیر استفاده کنیم .

if(!preg_match("|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i", $url))
{
   echo 'لطفا آدرس صحيح وارد نماييد';
}

خوب در این دو نمونه کمی با عبارات منظم یا Regural Expressions آشنا شدیم . برای آشنایی بیشتر با آن می توانید به این مطلب سری بزنید (راهنمای سریع عبارات منظم در php)

در همین رابطه :   فرم ثبت نام حرفه ای با PHP/jQuery به صورت AJAX

به عنوان یک ترفند ، اگر خواستید برای validate کردن ورودی های دیگر هم از عبارات منظم استفاده کنید ، می توانید در گوگل آن را با نام کلیدی regex جستجو کنید . مثلا email regex یا url regex .

دسته بندی : PHP

2 نظر

  1. اعتبار سنجی فیلد های ورودی برای افزایش امنیت خیلی مهمه. همینطور پیشنهاد میکنم کل محتوای ورودی رو با فرمان str_ireplace برای فرمان های SQL جست و جو کنید. یک نمونه اون اینجاست
    همینطور میتونید http:// رو با عبارت خالی “” جابجا کنید و بعد http:// رو به اول عبارت اضافه کنید تا حتی زمانی که کاربر آدرس رو کامل وارد نمیکنه همه URLها یک دست و درست بشند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *