۱ Amir Hossein Sattari
در مورد تابع preg_match
جامعه پی اچ پی ایجاد شده در ۱۱ اردیبهشت ۱۴۰۲

سلام

if(!preg_match("~^(?:\\+98|0)9(\\d{9})$~",$params['phone'])){
   setErrorAndRedirect("Phone in invalid!","auth.php?action=register");
}

من تو این تابع متوجه پارامتر اول نمیشم که این علامت‌ها چی هستن و چجوری ازشون استفاده میشه.

ممنون میشم راجب پارامتر اول این تابع یه توضیحی بدید.

سلام،

regex یا regular expression از یک سری کاراکتری معنی دار و با قاعده تشکیل شده. این عبارتو در نظر بگیرید:

\\d+

\\d اشاره به عدد میکند و + میگوید یک یا چند رقم است.

مثلا میخواهیم بگوییم یک عبارت با ab شروع شود و در ادامه اش یک یا صفر رقم باشد:

^ab\\d?

قوانین مختلفی وجود دارد، مثل نگاه به جلو و عقب و ... اگر وقت بذارید و یاد بگیرید درکش آسان خواهد بود.

رجکس هارو میتونید داخل این لینک تست کنید.

بهترین پاسخ
محسن موحد ۱۱ اردیبهشت ۱۴۰۲، ۲۱:۳۵