حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

معرفی 8 نوع Regular Expression آماده برای استفاده

یادگیری نحوه نوشتن Regular Expression ها کار دشواری است و خیلی از برنامه نویس ها (از جمله خود من) ترجیه می دهند تا از عبارات آماده موجود استفاده کنند. در این مطلب قصد دارم تا تعدادی از Regular Expression های باقاعده پرکاربرد را خدمت دوستان معرفی کنیم. این عبارات در زمینه های مختلف مانند Validation یا جستجو در کدها یا متن ها قابل استفاده است.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
وب سایت توسینسو

1. چک کردن سطح امنیت کلمه عبور (Password Strength)

با کمک عبارت زیر می توانید سطح امنیت کلمه عبور را چک کنید، برای مثال زمانی که یک کلمه عبور را از کاربر دریافت می کنید می توانید بررسی کنید که آیا این کلمه عبور مبتنی بر قواعدی که شما مشخص کردید هست یا خیر. مواردی که در این عبارت چک می شوند:

  1. حداقل طول کلمه عبور 8 کاراکتر
  2. استفاده از کاراکترهای حروف بزرگ
  3. استفاده از کاراکترهای حروف کوچک
  4. استفاده از اعداد
^(?=.*[A-Z].*[A-Z])(?=.*[!@#$&*])(?=.*[0-9].*[0-9])(?=.*[a-z].*[a-z].*[a-z]).{8}$

2. یافتن کدهای رنگ Hexadecimal

بوسیله عبارت زیر، می توانید کلیه کدهای رنگ Hexadecimal رو در یک متن (مخصوصاً فایل های CSS) پیدا کنید. این عبارت بیشتر به کار طراحان و برنامه نویسان وب می خورد:

\#([a-fA-F]|[0-9]){3, 6}

3. اعتبار سنجی فرمت پست الکترونیکی

به طور حتم، شما نیز زمان ثبت نام کاربران، یکی از اطلاعاتی که از کاربران درخواست می کنید، آدرس پست الکترونیکی کاربر می باشد. اما این آدرس باید با فرمت صحیح وارد شود، بوسیله عبارت زیر می توانید صحت فرمت آدرس وارد شده را بررسی کنید:

/[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[A-Z]{2,4}/igm

4. اعتبارسنجی فرمت آدرس IPv4

بوسیله عبارت زیر، فرمت آدرس IPv4 ورودی را می توانید بررسی کنید:

/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/

5. اعتبارسنجی فرمت آدرس IPv6

نسخه 6 برای IP چندی قبل معرفی شده و بوسیله عبارت زیر می توانید اعتبار سنجی بر روی مقادیر ورودی IPv6 را انجام دهید:

(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))

6. جداسازی اعداد

بوسیله عبارت زیر، می توانید اعداد ورودی را به صورت سه رقم جداسازی کنید:

/\d{1,3}(?=(\d{3})+(?!\d))/g

7. استخراج آدرس دامنه از یک URL

بوسیله عبارت زیر، می توانید نسبت به استخراج آدرس دامنه از یک URL کامل اقدام کنید، این مورد بیشتر در کدهای JavaScript یا PHP به کمک شما می آید:

/https?:\/\/(?:[-\w]+\.)?([-\w]+)\.\w+(?:\.\w+)?\/?.*/i

8. اعتبار سنجی URL

بوسیله عبارت زیر، فرمت URL را به عنوان ورودی می توانید بررسی کنید:

/^(((http|https|ftp):\/\/)?([[a-zA-Z0-9]\-\.])+(\.)([[a-zA-Z0-9]]){2,4}([[a-zA-Z0-9]\/+=%&_\.~?\-]*))*$/

حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات