در Visual Studio در فیلد Validation Expression ابزارِ Regular Expression
Validator می توان فرمت های متنوعی را برای برسی صحت اطلاعات ورودی وارد
کرد. برای مثال فرمت ایمیل ، URL ، کد پستی ، شماره تلفن های کشور هایی
نظیر آمریکا ، آلمان ، ژاپن و فرانسه :
برای مثال عبارت باقاعده برای ایمیل به صورت زیر است:
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
یا شماره تلفن آمریکار به صورت زیر است:
((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}
ولی برای بررسی صحت شماره تلفن ایران ما نیاز به عبارت با قاعده ای برای
شماره تلفن ایران داریم تا به صورت Custom به این فیلد بدهیم ، نحوه ساخت
بدین شرح است :
ابتدا مثال هایی از شماره مبایل ایران را می بینیم:
091x-xxx-xxxxهمراه اول
و
0931-xxx-xxxx ایرانسل
.
.
.
0939-xxx-xxxx
و
0921-xxx-xxxxرایتل
.
.
.
0929-xxx-xxxx
شماره تلفن ایران برای اپراتور همراه اول با 091 شروع می شود و هشت رقم دیگر هرچیزی می توانند باشند
برای اپراتور ایرانسل و تالیا با 093 شروع می شود و رقم چهارم از 1 تا 9 و هفت رقم دیگر می توانند هر رقمی از 1 تا 9 باشند.
و برای اپراتور رایتل با 092 شروع می شوند و رقم چهارم از یک تا 9 و هفت رقم دیگر می توانند هر رقمی از 1 تا 9.
عبارت باقاعده برا شماره مبایل ایران به صورت زیر است:
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 هستند.
در ابتدا یه توضیح کوچیک در رابطه با
Regular Expressions بدم و بعد به سراغ انواع عبارات با قاعده خواهیم
رفت
در واقع عبارات با قاعده یک زبان برای توصیف الگو های
موجود در متنه!
به عنوان مثال برای اینکه متوجه بشین آیا آدرس ایمیل که کاربران وارد
می کنن از نظری دستوری (نحوی) صحیح است یا خیر از عبارت با قاعده
استفاده می کنیم. مثلا آدرس ایمیل SafeCode@gmail.Com یک آدرس صحیح می
باشد ولی SafeCode.gmail.Com یا @Gmail.Com صحیح نمی باشند.
توی این پست انواع عبارات با قاعده رو براتون می زارم
عبارت با قاعده برای آدرس ایمیل:
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
عبارت با قاعده برای زمان با فرمت 24 ساعت:
^(20|21|22|23|[01]\d|\d)(([:.][0-5]\d){1,2})$
عبارت با قاعده برای اعداد اعشاری همراه
علامت آن:
[-+]?[0-9]*\.?[0-9]*
عبارت با قاعده برای اعداد اعشاری همراه
علامت و همراه توان:
عبارات با قاعده فراوانی در اینترنت نیز
وجود داره و شما خود نیز می توانین عبارت با قاعده نوشته و آن را تست
یا ... کنین برای این کار شما کافیست به سایت www.regexbuddy.com
مراجعه نمایید