• تهران -خیابان شریعتی - بالاتر از سه راه ملک - روبروی آتش نشانی - آرتارسانه
  • تلفن تماس: 02191303424

آموزش برنامه نویسی جاوااسکریپت-جلسه بیست و یکم

عبارات با قاعده (Regular Expressions) 

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

در زیر به معرفی این عبارات می پردازیم :

Syntax عبارات باقاعده به صورت زیر است :

/pattern/modifiers;

Pattern  : پترن یا الگو یا هر چیزی که قراره در یک متن دیگه جستجو بشه

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

i : یک Modifier هست و اگر در انتهای عبارت قرار بگیره یعنی به حروف بزرگ و کوچک حساس نباشه.

g : یک Modifier است و همه موارد مشابه رو پیدا می کنه و به حروف کوک و بزرگ حساس نیست.

m : یک Modifier است و معمولا وقتی بخواهیم داخل چند خط دنبال string باشیم از آن استفاده می کنیم.

الگوهای عبارات باقاعده: ما از براکت [] برای اسجاد الگوهای با قاعده استفاده میکنیم .

براکت با عبارات عددی: [0-9] برای پیدا کردن عبارت عددی در یک رنج مشخص مثلا از 0 تا 9.

[abc]: متنی که داخل براکت هست رو داخل کل متن جستجو میکنه .

(x|y ) : یعنی اگر x یا y باشد برای جستجو هم زمان چندین کلمه از| بین کلمات استفاده میکنیم

\d : برای پیدا کردن اعداد استفاده می شود.

\s : کاراکترهای جای خالی رو پیدا می کنه.

\b : ابتدای کاراکتر رو پیدا میکنه و اگر در انتهای عبارت قراره بگیره انتها رو کاراکتر رو مشخص میکنه و موقعیت رو برمی گردونه.

\uxxx : دنبال کلمه ای می گرده که یونیکدش بشه چیزی که ما خواستیم . در واقع یه کد می گیره و حرف مربوط به اون کد رو برمی گردونه.

n+ : یعنی حداقل یدونه n داشته باشیم . n می تونه هر حرفی باشه و برای اینکه یه حرف چندین بار تکرار بشه بعد از براکت +  قرار می دهیم.

n* : اگر صفر یا بیشتر  n داشته باشیم .

n? : اگر صفر یا یدونه  n داشته باشیم.

·       متدهای تست عبارت با قاعده

test()

متد test() برای تست کردن عبارات با قاعده هست و جواب true یا false برمی گرداند

const pattern = /e/;
pattern.test(“The best things in life are free!”);

exec()

این متد اولین رشته ا ی که پیدا کنه رو برمی گردونه البته جایگاهش و مشخص میکنه مثلا در عبارت بالا برای e جایگاه دو رو برمی گردونه .