عبارات قاعده ای یا regular expressions حیوانات سرگرم کننده ای هستند. بصورت مقدماتی یک عبارت قاعده ای به شما در پیدا کردن پترن هایی از کاراکترها کمک می کند. عبارات قاعده ای شما را مجهز می سازند که به اسکریپت خود معنا بدهید. با استفاده از عبارات قاعده ای php 5 می توانید یک نقشه متغیر بسازید که داده ای را بر علیه آن مقایسه کنید تا صحت و اعتبار آن را تایید کنید.
مانعی در راه استفاده از عبارات قاعده ای در php 5 وجود ندارد. کتابخانه php، حاوی مهم ترین توابع که از زمان php 4.2 موجود بوده، است. آنهایی که که با syntax زبان perl برای عبارات قاعده ای آشنا هستند، احساس خانه بودن را در کار با با آنها در php دارند، زیرا که ساختار مشابه ای را به اشتراک می گذارند.
به صورت بنیادی دو زیر دسته های اصلی و عمده توابع عبارات قاعده ای وجود دارند : ereg() و preg_match()
هر دوی آن ها به شما امکان تعیین عبارات قاعده ای که از آن برای مقایسه در برابر رشته ها استفاده می کنید را می دهند. به طور معمول، عبارات قاعده ای برای تایید داده ها قبل از ورود آن ها به یک دیتابیس یا فرم دیگر ذخیره داده، بکار می روند. وقتی احتیاج است که از مقدار دقیق داده رشته ای وارد شده، مطمئن شوید، راهی بهتر از تایید آن با عبارات قاعده ای نیست. عبارات قاعده ای معمول مانند چک url یا صحت ای میل وارد شده است هستند. برای اینکه هر دو از یک سری قواعد معمول استفاده می کنند (به عبارت دیگر تمام آدرس های ای میلی دارای گروهی از لغات هستند که توسط کاراکتر @ از هم جدا شده اند)
کد زیر، عبارات قاعده ای زیر ای میل را چک می کند تا مطمئن شود ای میل بصورت معتبر وارد شده است.
1 2 3 4 5 6 7 8 |
<?php echo preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+[a-zA-Z0-9_-]$/",$emaile_sahih); // با برگرداندن مقدار یک صحت آنرا تایید می کند echo "<br />"; $emaile_ghalat = "example.ir"; echo preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+[a-zA-Z0-9_-]$/",$emaile_ghalat); //با برگرداندن مقدار صفر صحت آنرا تایید نمی کند ?> |
مقداد علی بخشی هستم. موسیقی دان، برنامه نویس، متخصص هوش مصنوعی، علم داده، متخصص بلاکچین و توسعه دهنده ربات های هوشمند.
دانش آموخته مقطع ارشد و دکتری دانشکده فنی دانشگاه تهران هستم. با سابقه تدریس درس برنامه نویسی در دانشگاه (پردیس بین الملل کیش دانشگاه تهران)