PDA

View Full Version : حرفه ای: Regular Expression برای اعتبار سنجی شماره موبایل



hakan648
جمعه 11 آذر 1390, 17:53 عصر
سلام
برای پروژه دفترچه تلفن آنلاین نیاز به یک عبارت با قاعده برای اعتبار سنجی موبایل داشتم .
هم در گوگل و هم در اینجا جستجو کردم ولی نتیجه ای نداشت برای همین رفتم سراغ آموزش این عبارات یک عبارتی نوشتم .
اینجا قرار میدم تا دوستان استفاده کنند .

این عبارت با شماره هایی که با 98+ و 09 و 9 شروع میشن و دارای پیش شماره های رایج هستند مطابقت میکنه !


(\+989|9|09)(12|19|35|36|37|38|39|32)\d{7}


موفق باشید ...

sobhan5968
جمعه 11 آذر 1390, 22:09 عصر
اگه میشه کلا آموزش این نوع عبارت نویسی را در اینجا یاد بدین که اگر ما و بقیه دوستان خواستند به شکلهای دیگری این اعتبارسنجی رو اعمال کنند بلد باشند .

باتشکر

hakan648
جمعه 11 آذر 1390, 22:21 عصر
بنده در حدی بلد نیستم که آموزش بدم - خودم همین امروز یاد گرفتم :لبخند:

در سایت جستجو کنید آموزش پیدا میکنید .

این لینک ها را مطالعه کنید :

http://www.barnamenevis.org/showthread.php?222226-Regular-Expressions-in-ASP.NET

http://pirooz.parsiblog.com/Posts/9/%D8%B9%D8%A8%D8%A7%D8%B1%D8%A7%D8%AA+%D8%A8%D8%A7% D9%82%D8%A7%D8%B9%D8%AF%D9%87+%D9%8A%D8%A7+Regular +Expression+-+%D9%82%D8%B3%D9%85%D8%AA+%D8%A7%D9%88%D9%84/

لینک دومی به بنده خیلی کمک کرد - بهترین راه یاد گیری هم امتحان کردن عبارات ساده و انجام تمرین های آموزش است .
موفق باشید ...

Slytherin
شنبه 12 آذر 1390, 12:25 عصر
اگه میشه کلا آموزش این نوع عبارت نویسی را در اینجا یاد بدین که اگر ما و بقیه دوستان خواستند به شکلهای دیگری این اعتبارسنجی رو اعمال کنند بلد باشند .

باتشکر

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

sedaybaran2000
چهارشنبه 16 مرداد 1392, 09:14 صبح
/(\+98|0)?9\d{9}/

aliblue
چهارشنبه 16 مرداد 1392, 09:51 صبح
(\+989|9|09)(12|19|35|36|37|38|39|32)\d{7}
شماره های رایتل با 0921 شروع میشه.

logo85
شنبه 13 مهر 1392, 15:12 عصر
عبارت منظم برای تشخیص صحیح بودن شماره موبایل با استفاده از php


$pattern ="/^(9|09)(12|19|35|36|37|38|39|32|21)\d{7}$/";
if(preg_match($pattern,"09121111111")){
echo("ok");

}else{
echo("fail");}
}

alireza724
پنج شنبه 09 آبان 1392, 09:47 صبح
با سلام و احترا
میتوانید از کد زیر استفاده کنید



09(1[0-9]|3[1-9]|2[1-9])-?[0-9]{3}-?[0-9]{4}


این عبارت نشان می دهد که شماره ها با 09 شروع می شوند رقم سوم یا یک (همراه اول) یا سه (ایرانسل و تالیا) یا دو (رایتل) اگر یک باشد رقم چهارم می تواند از 0 تا 9 باشد اگر 3 باشد رقم چهارم می تواند از 1 تا 9 باشد واگر دو باشد رقم چهارم می تواند از 1 تا 9 باشد

رقم پنجم تا یازدهم یعنی هفت رقم آخر به دو دسته تقسیم می شوند که دسته اول 3 رقم از هر رقمی بین 0 تا 9 و دسته دوم چهار رقم از هر رقمی بین 0 تا 9 هستند.

منبع: سایت دوست خوبم جناب مدائنی

novinfard
شنبه 24 مرداد 1394, 19:50 عصر
سلام

صحیح ترین فرمت فعلی بدین صورت است:

09(0[1-2]|1[0-9]|3[0-9]|2[0-1])-?[0-9]{3}-?[0-9]{4}

برای بروزرسانی فرمت های جدید شماره به آدرس زیر مراجعه نمایید:
https://fa.wikipedia.org/wiki/شماره%E2%80%8Cهای_تلفن_در_ایران #.D8.AA.D9.84.D9.81.D9.86.E2.80.8C.D9.87.D8.A7.DB. 8C_.D9.87.D9.85.D8.B1.D8.A7.D9.87