رجکس در فرمهای اطلاعاتی
یکی از قابلیتهایی که از سالها پیش به اکثر زبانهای برنامهنویسی دنیا اضافه شد، قابلیت پشتیبانی از رجکسها است. قابلیت بسیار کاربردی که کمکم در طراحی فرمهای اطلاعاتی نیز مورد استفاده قرار گرفت. در این مقاله میخواهیم شما را با مفهوم رجکس و نحوه استفاده از آن در فرمهای بالونت آشنا کنیم.
الگویی برای تایید و جستجو
تصور کنید شما مسئول استخدام، در بخش منابع انسانی یک شرکت هستید. از شما خواسته میشود از بین متقاضیانی که رزومه ارسال کردهاند، افرادی را بر اساس یک الگو انتخاب و برای مصاحبه حضوری به مسئول مربوطه معرفی نمایید. این الگو شامل موارد زیر است:
• سن حداقل ۱۸ و حداکثر ۵۰ سال
• حداقل مدرک دیپلم ریاضی یا تجربی
• آشنایی با زبان انگلیسی در حد متوسط
• حداقل ۱ سال سابقه کار قابل اثبات
شما بعد از دیدن این الگو، به سراغ بررسی رزومههای دریافتی خواهید رفت و تنها مواردی را که با الگوی فوق سازگاری دارند، تایید میکنید. رجکس در دنیای نرمافزار، نقش همین الگو را بازی میکند! الگویی که معیاری برای تایید یا رد و نقشهای برای جستجو است.
با این توصیف، حالا میتوان تعریف دقیق رجکس را بهتر و سادهتر متوجه شد.
رجکس (Regex) چیست؟
عبارت منظم (Regular Expression) که آن را به صورت مخفف و با عنوان رجکس (Regex) نیز میشناسیم، یک الگو شامل اعداد، حروف و کاراکترهای مشخص است. این الگو برای اعتبارسنجی، جستجو و تایید رشتههای کاراکتری (String) مورد استفاده قرار میگیرد. رشتههای کاراکتری، هر ترکیبی از الفبای لاتین (a-z , A-Z)، اعداد (۰-۹) و علائم ($, ?, !, …) هستند.
نرمافزار با استفاده از الگوی رجکسی که شما در اختیارش گذاشتهاید، رشتههای کاراکتری موجود را بررسی کرده و با الگوی مربوطه تطبیق میدهد. خروجی و جواب نهایی نرمافزار به شما، همه یا بخشی از رشتههای کاراکتری خواهد بود که از آن الگوی رجکس، پیروی کرده باشند.
برای درک بهتر مفهوم رجکس و کاربردهای آن، میتوانید ویدیو زیر را که توسط The Net Ninja تولید شده و توسط تیم محتوای بالوت ترجمه شده است، مشاهده کنید:
نحوه استفاده از رجکس
برای استفاده از رجکس، ابتدا باید قواعدِ تعریف و الگونویسی را فراگرفت. به عبارت دیگر، با یادگیری الفبای رجکس، میتوان الگویی که در ذهن داریم را به نرمافزار بفهمانیم.
الگوهای رجکس از چپ به راست نوشته شده و برخی از کاراکترها در آن، مفهوم و وظیفه خاصی دارند که در جداول زیر میتوانید با آنها بیشتر آشنا شوید:
چند مثال برای رجکسنویسی
به کمک جداول بالا، با الفبای رجکسنویسی آشنا شدیم. در ادامه مثالهایی را بررسی میکنیم تا نحوه بکارگیری و استفاده از این الفبا در رجکسنویسی بهتر و بیشتر مشخص شود.
تایید کد ملیهایی که با ۰۰ شروع شدهاند:
۰۰\d{8}
تایید شماره موبایلهایی با پیششماره ۰۹۱۰، ۰۹۱۱ و ۰۹۱۲:
۰۹۱(۰|۱|۲)\d{7}
تعیین سال ورودی دانشجویان دانشگاه (با فرض آنکه شماره دانشجویی هر شخص یک عدد ۱۰ رقمی است که ۲ رقم ابتدایی آن، سال ورودی او را مشخص میکند.):
(\d\d)\d{8}
رجکسی برای مشخص کردن پروتکل یک URL:
^https?:\/\/(www)?
تمرین و تسلط در رجکسنویسی
برای نوشتن الگوهای رجکس مختلف، نیاز است بیشتر با الفبای مربوط به آن تمرین کرده و مثالهای متنوعی را بررسی کنید. از آنجایی که همه افراد دانش برنامهنویسی ندارند و نمیتوانند الگوهای طراحی شده خود را با یک زبان برنامهنویسی امتحان کنند، برخی از سایتهای آنلاین، اقدام به ارائه پلتفرمهای طراحی و تست رجکس نمودهاند.
یکی از این سایتها، وبسایت کاربردی Regex101 است. از مزایای این وبسایت میتوان به پشتیبانی از زبانهای برنامهنویسی متنوع، صدها نمونه رجکس آماده، نمایش دقیق به تفکیک گروه، امکان ذخیرهسازی رجکسها و غیره اشاره کرد.
برای تمرین بیشتر و تسلط در رجکسنویسی میتوانید نمونه مثالهای گفته شده در قسمت قبل را در این وبسایت وارد نموده و با توجه به ورودیهای مختلف، نتایج را مشاهده کنید.
اعتبارسنجی با رجکس در فرمهای بالونت
همانطور که میدانید، یکی از سرویسهای پرکاربرد در پیامرسانی سازمانی بالونت، سرویس فرم است. به کمک فرمساز آنلاین بالونت میتوانید انواع فرمهای موردنیاز خود را طراحی کرده و در اختیار کاربران قرار داد.
این سرویس به قابلیت رجکسنویسی مجهز است. به کمک این قابلیت، طراحان فرم میتوانند برای فیلدها، رجکسنویسی کرده و الگوی مورد نظر برای پاسخدادن به آن فیلدها را تعریف کنند.
بیشتر بخوانید: فرمساز آنلاین بالونت چه امکاناتی دارد؟
نمونه استفاده از رجکس در فرمساز بالونت
فرض کنید یکی از شروط استخدام در شرکت شما، تحصیلات در رشته مدیریت صنعتی یا مدیریت بازرگانی است. برای استخدام نیز بهکمک فرمساز بالونت، یک فرم آنلاین طراحی کردهاید. در این فرم، فیلدی با نام «رشته تحصیلی» و از نوع «متن» وجود دارد که افراد میتوانند رشته خود را در آن وارد کنند.
با استفاده از رجکس میتوان این فیلد را فقط به رشتههای مدیریت صنعتی و مدیریت بازرگانی محدود کرد. در صورتی که کاربر، رشته دیگری به جز این موارد را وارد کند، به او اخطار داده خواهد شد که فیلد مربوطه با دادههای نامعتبر، پر شده است.
بیشتر بخوانید: ساخت فرم آنلاین با گوشی همراه!
نحوه استفاده از رجکس در فرمساز بالونت
از رجکسها میتوان فقط برای فیلدهای «متن» و «عدد» در فرمساز بالونت استفاده کرد. ضمن آنکه برای برخی از موارد خاص مثل شماره موبایل، حداقل و حداکثر تعداد کاراکتر یا اعداد، رجکسهای آمادهای در برنامه ایجاد شده است.
برای استفاده از رجکس در فرمهای بالونت کافیست وارد قسمت «مدیریت فیلدها» شده و «گزینههای بیشتر» را برای فیلد مورد نظر خود انتخاب کنید. همانطور که در تصویر زیر مشاهده میکنید، با انتخاب گزینه رجکس میتوانید، الگوی مورد نظر را وارد کنید.
تجربهای متفاوت در طراحی فرمهای آنلاین
در این مطلب با مفهوم رجکس و نحوه رجکسنویسی آشنا شدیم. شاید در نگاه اول و تنها با خواندن این مطلب، کاربردها و اهمیت رجکسنویسی بهخوبی مشخص نشود. اما با کمی جستجو و مشاهده نمونه رجکسهای بیشتر، بتوان رجکس را کلیدی برای ورود به دنیای فرمهای آنلاین هوشمند دانست.
برای استفاده از قابلیتهای مختلف پیامرسان بالونت، از جمله سرویس فرم و قابلیت رجکسنویسی در آن، میتوانید این برنامه را از طریق لینکهای زیر و برای پلتفرمهای مختلف دانلود کنید: