السلام عليكم و رحمة الله و بركاته ،اليوم سنرى طريقة التحقق من البريد الإلكتروني و أيضا سنرى دالة جديدة سأحاول فيها الشرح المفصل للعلم أن طريقة التحقق من البريد الإلكتروني طرحت من قبل في المنتديات لكن من دون شرح بل ظهرت على شكل JS .
تقوم الدالة eregi بالبحث في سلسلة نصية عن كلمة نحن نحددها لها إن وجدتها سترجع لنا 1 أي صح أو لاشيئ إن لم تجدها وصيغتها العامة تكون كالتالي :
eregi(الجملة المراد البحث فيها,الكلمة المراد إيجادها);
مثال :
<?
$group="sife-c user in arabteam";
if (eregi('sife-c',$group))
{
echo "he is from them";
}
else
{
echo "he isn' t from them";
}
?>لاحظ في السطر 3 لقد وضعت شرط تحقق إن وجد sife-c في المتغير group$ فإنه الباقي تعرفونه لكن نحن نريد أن نعرف طريقة التحقق من البريد فسيلزمنا شيئين و هما :
الكلمة الأولى+العلامة المميزة للبريد (@)+الدومين+نقطة مع الإمتداد (...,com,net)
ثانيا أن لا يكون المستخدم كتب بعد الإمتداد .
سنكتب المثال ومن ثم نشرح النقاط الأساسية :
<?
$email = "bdsife@yahoo.com";
function check_email($email) {
if (eregi("^[a-z0-9]+@([0-9a-z]+\.)+[a-z]{2,3}$",$email))
{
$result = "valid mail";
}
else
{
$result = "invalid mail";
}
return $result;
}
check_email($email)
?>في السطر الثاني كتبنا البريد المراد التحقق منه أما السطر 3 فهي دالة تقوم بالتحقق لنا من البريد ،السطر 3 يأتي فيه دور الدالة eregi حيث :^ تعني بداية الكلمة ، [a-z0-9] تعني مطابقة كل الإحتمالات بأن تكون كلمات و أرقام ...إلخ يليه علامة الجمع و التي تعني أن يضمن كلمة أخرى أما(.\+[0-9a-z]) فهي تعني تظمين كل الإحتمالات مع إضافة في آخر الكلمة (.) أخيرا[a-z] شرحناها أما($) فهو يعني نهاية الكلمة أما{2,3} فهي تعني المجال الذي يكون فيه عدد الحروف في آخر الكلمة مثل (com,fr)أما الباقي فأنتم تعرفونه ، إعذروني إن كان شرحي مختصر أو ناقص و أي سؤال تريدونه سأجيبه إن إستطعت .
