PDA

View Full Version : سوال: یک REGEX برای چک کردن موبایل



amin3d
چهارشنبه 12 خرداد 1395, 14:34 عصر
هو العلیم، سلام،
یک REGEX داشتم در زبان javascript که الان به php تغییرش دادم، همه چیز خوب کار می کند بغیر از اینکه در preg_match بجای یک خروجی دو خروجی می دهد.
نمی دونم باید کجاش رو ویرایش کنم. البته کارم با match[0] راه می افتد اما می خواهم فقط یک خروجی داشته باشد.



preg_match('/^(0|\+98)?([ ]|-|[()]){0,2}9[1|2|3|4]([ ]|-|[()]){0,2}(?:[0-9]([ ]|-|[()]){0,2}){8}$/',$parameters['mobile'],$match);

plague
چهارشنبه 12 خرداد 1395, 14:49 عصر
برای موبایل به این دلیل که باید دقیقا به کاربر بگی مشکلش از کجاست و با یه ریجکس کلی نمیتونی اینکار رو بکنی بهتره که استفاده نکنی
با is_numeric چک کن که عددی باشه با strlen هم طولش رو چک کن که 11 رقم باشه عدد اول هم میتونی چک کنی با 0 شروع بشه و هرکدوم نبود جداگانه اررور بده

amin3d
چهارشنبه 12 خرداد 1395, 15:17 عصر
هو العلیم، خوبی این کد این است، که تقریبا قالب های متدوال را قبول می کند فرضا اگر شما 09350000000 یا 9350000000 یا +989350000000 را بهش بدی قبول می کنه، اما مشکل اینجاست که خروجی شماره موبایل به همراه یک صفر یا +98 را می دهد.

tux-world
پنج شنبه 13 خرداد 1395, 09:46 صبح
اما مشکل اینجاست که خروجی شماره موبایل به همراه یک صفر یا +98 را می دهد. خوب این الان کجاش مشکله؟ میشه راحت اون رو هم حذف کرد. نمیفهمم ایراد این کار چیه. برای من که خیلی هم خوبه و نیازی نیست و اون مشکل نیست اصلا