JavaScript:عبارات با قاعده در جاوااسکریپت

از ویکی کد
پرش به ناوبری پرش به جستجو
میانبر:
الگو:اج
دورهٔ آموزشی جاوااسکریپت
Javascript.jpg
جاوااسکریپت
موارد آموزشی
۱آموزش جاوااسکریپت
۲مقدمه‌ای بر جاوااسکریپت
۳JavaScript:قوانین و اصول اولیه زبان جاوااسکریپت
۴JavaScript:خروجی جاوااسکریپت
۵JavaScript:عبارت‌ها در جاوااسکریپت
۶JavaScript:شیوهٔ نوشتن (Syntax) عبارات یا دستورات در جاوااسکریپت
۷JavaScript:نظرات یا کامنت‌ها (Comments) در جاوااسکریپت
۸JavaScript:متغیرها در جاوااسکریپت
۹JavaScript:عملگرهای جاوااسکریپت
۱۰JavaScript:عملگرهای ریاضی در جاوااسکریپت
۱۱JavaScript:عملگرهای مقداردهی در جاوااسکریپت
۱۲JavaScript:انواع داده‌ها در جاوااسکریپت
۱۳JavaScript:توابع در جاوااسکریپت
۱۴JavaScript:اشیاء (object) در جاوااسکریپت
۱۵JavaScript:رویدادها در جاوااسکریپت
۱۶JavaScript:رشته‌های متنی (string) در جاوااسکریپت
۱۷JavaScript:متدهای نوع داده متنی یا رشته‌ای در جاوااسکریپت
۱۸JavaScript:اعداد در جاوااسکریپت
۱۹JavaScript:متدهای داده‌های عددی در جاوااسکریپت
۲۰JavaScript:آرایه‌ها در جاوااسکریپت
۲۱JavaScript:متدهای آرایه در جاوااسکریپت
۲۲JavaScript:مرتب‌سازی آرایه‌ها در جاوااسکریپت
۲۳JavaScript:متدهای پیمایش آرایه در جاوااسکریپت
۲۴JavaScript:اشیاء تاریخ و زمان در جاوااسکریپت
۲۵JavaScript:فرمت‌های تاریخ و زمان در جاوااسکریپت
۲۶JavaScript:متدهای دریافت تاریخ و زمان در جاوااسکریپت
۲۷JavaScript:متدهای تنظیم زمان و تاریخ در جاوااسکریپت
۲۸JavaScript:شی ریاضی (Math) در جاوااسکریپت
۲۹JavaScript:ایجاد عدد تصادفی در جاوااسکریپت
۳۰JavaScript:مقادیر بولین (Booleans) در جاوااسکریپت
۳۱JavaScript:عملگرهای منطقی و مقایسه‌ای در جاوااسکریپت
۳۲JavaScript:ساختار if else و else if در جاوااسکریپت
۳۳JavaScript:تکه کد Switch در جاوا اسکریپت
۳۴JavaScript:حلقه For در جاوااسکریپت
۳۵JavaScript:حلقه While در جاوااسکریپت
۳۶JavaScript:کلمات کلیدی Break و Continue در جاوااسکریپت
۳۷JavaScript:تبدیل نوع داده‌ها در جاوااسکریپت
۳۸JavaScript:عملیات‌های بیتی در جاوااسکریپت
۳۹JavaScript:عبارات با قاعده در جاوااسکریپت
۴۰JavaScript:خطاها در جاوااسکریپت - رخ دادن خطا و رفع آن
۴۱JavaScript:Scope در جاوااسکریپت
۴۲JavaScript:Hoisting یا جا به جایی کدها در جاوااسکریپت
۴۳JavaScript:استفاده از مد یا حالت سخت‌گیرانه (use strict) در جاوااسکریپت
۴۴JavaScript:کلمه کلیدی This در جاوااسکریپت
۴۵JavaScript:کلمه کلیدی Let در جاوااسکریپت
۴۶JavaScript:ثابت‌ها در جاوااسکریپت
۴۷JavaScript:تعریف توابع به صورت پیکان
۴۸JavaScript:کلاس‌ها در جاوااسکریپت
۴۹JavaScript:اشکال‌زدایی در جاوااسکریپت
۵۰JavaScript:راهنمای استایل و استانداردهای کدنویسی در جاوااسکریپت
۵۱JavaScript:بهترین تمرینات جاوااسکریپت
۵۲JavaScript:اشتباهات رایج در برنامه‌نویسی جاوااسکریپت
۵۳JavaScript:کارایی در جاوااسکریپت
۵۴JavaScript:کلمات رزرو شده در جاوااسکریپت
۵۵JavaScript:ورژن‌های جاوااسکریپت
۵۶JavaScript:ECMAScript 5 - JavaScript 5
۵۷JavaScript:ECMAScript 6 - ECMAScript 2015
۵۸JavaScript:جیسون (JSON) در جاوااسکریپت
فرم‌ها
۱JavaScript:فرم‌ها در جاوااسکریپت
۲JavaScript:API ارزشیابی در جاوااسکریپت
اشیاء (Object)
۱JavaScript:اشیاء در جاوااسکریپت
۲JavaScript:ویژگی‌های اشیاء در جاوااسکریپت
۳JavaScript:متدهای اشیاء در جاوااسکریپت
۴JavaScript:روش‌های دسترسی به شیء در جاوااسکریپت
۵JavaScript:سازنده‌های شیء در جاوااسکریپت
۶JavaScript:شکل اصلی شیء در جاوااسکریپت
۷JavaScript:متدهای شیء در ورژن ES5 جاوااسکریپت
تابع
۱JavaScript:تعریف تابع در جاوااسکریپت
۲JavaScript:پارامتر توابع در جاوااسکریپت
۳JavaScript:فراخوانی تابع در جاوااسکریپت
۴JavaScript:صدا کردن تابع در جاوااسکریپت
۵JavaScript:تابع Apply در جاوااسکریپت
۶JavaScript:بسته‌ها (به انگلیسی: Closures) در جاوااسکریپت
HTML DOM
۱JavaScript:HTML DOM در جاوااسکریپت
۲JavaScript:متدهای HTML DOM در جاوااسکریپت
۳JavaScript:HTML DOM Document در جاوااسکریپت
۴JavaScript:عناصر HTML DOM در جاوااسکریپت
۵JavaScript:HTML DOM در جاوااسکریپت - تغییر محتوای HTML
۶JavaScript:DOM در جاوااسکریپت - تغییر CSS
۷JavaScript:انیمیشن در HTML DOM جاوااسکریپت
۸JavaScript:رویدادها در HTML DOM جاوااسکریپت
۹JavaScript:شنونده رویداد در HTML DOM جاوااسکریپت
۱۰JavaScript:پیمایش در HTML DOM جاوااسکریپت
۱۱JavaScript:عناصر (گره‌ها) HTML DOM در جاوااسکریپت
۱۲JavaScript:مجموعه‌های HTML DOM جاوااسکریپت
۱۳JavaScript:لیست گره‌ها در HTML DOM جاوااسکریپت
Browser BOM
۱JavaScript:پنجره جاوااسکریپت - مدل شیء مرورگر
۲JavaScript:پنجره صفحه نمایش در جاوااسکریپت
۳JavaScript:موقعیت پنجره در جاوااسکریپت
۴JavaScript:تاریخچه پنجره در جاوااسکریپت
۵JavaScript:ناوبری پنجره در جاوااسکریپت
۶JavaScript:جعبه پیغام جاوااسکریپت
۷JavaScript:رویدادهای زمان‌بندی شده در جاوااسکریپت
۸JavaScript:کوکی‌های جاوااسکریپت
AJAX
۱JavaScript:مقدمه‌ای بر AJAX
۲JavaScript:AJAX - شیء XMLHttpRequest
۳JavaScript:AJAX - ارسال یک درخواست به سرور
۴JavaScript:AJAX - پاسخ سرور
۵JavaScript:مثال‌های XML در AJAX
۶JavaScript:مثال‌های PHP در AJAX
۷JavaScript:مثال‌های ASP در AJAX
۸JavaScript:مثال پایگاه داده در AJAX
۹JavaScript:نرم‌افزارهای XML
۱۰JavaScript:مثال‌های AJAX
JSON
۱JavaScript:مقدمه‌ای بر JSON
۲JavaScript:شیوهٔ نوشتار JSON
۳JavaScript:JSON در برابر XML
۴JavaScript:انواع داده‌های مجاز در JSON
۵متد JSON.parse()
۶متد JSON.stringify()
۷JavaScript:اشیاء JSON
۸JavaScript:آرایه‌ها در JSON
۹JavaScript:PHP در JSON
۱۰JavaScript:HTML در JSON
۱۱JavaScript:JSONP
jQuery
۱JavaScript:جاوااسکریپت / انتخابگرهای DOM جی‌کوئری
۲JavaScript:جاوااسکریپت / عناصر HTML جی‌کوئری
۳JavaScript:جاوااسکریپت / استایل‌های CSS در جی‌کوئری
۴JavaScript:جاوااسکریپت / HTML DOM در جی‌کوئری


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

از الگوهای جستجو می‌توان برای جستجوهای متنی و عملیات جا به جای متن استفاده کرد.

عبارت با قاعده چیست؟

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

زمانی که شما در یک متن به دنبال داده یا Data هستید، شما می‌توانید از این الگوهای جستجو برای تعریف چیزی که به دنبال آن هستید استفاده کنید.

یک عبارت منطقی می‌تواند به صورت تک کاراکتری باشد یا ساختار پیچیده تری داشته باشد.

از عبارتهای با قاعده می‌توان برای پیاده‌سازی تمامی جستجوهای متنی و عملیات‌های جابجایی‌های متنی استفاده کرد.

شیوهٔ نوشتار

/''pattern''/''modifiers'';

مثال

var patt = /w3schools/i;

توضیح مثال:

wikicod/i/ یک عبارت با قاعده است.

wikicod یک الگو است (که برای جستجو استفاده می‌شود).

i یک modifier است (که مشخص می‌کند جستجو می‌بایست حساس به حروف کوچک و بزرگ نباشد)

استفاده به همراه متدهای رشته متنی (به انگلیسی: String)

در جاوااسکریپت، عبارت‌های با قاعده معمولاً همراه با دو متد رشته‌های متنی استفاده می‌شوند: متدsearch()وreplace().

متدsearch()از عبارت با قاعده برای پیدا کردن نتیجه یک جستجو استفاده می‌کند، و موقعیت یا اندیس نتیجه را برمی‌گرداند.

متدreplace()یک رشته متنی ویرایش شده را برمی‌گرداند که الگو در آن جایگزین شده‌است.

استفاده از تابع ()search رشته‌های متنی با یک رشته متنی

متدsearch()یک رشته متنی را برای پیدا کردن یک رشته متنی جستجو می‌کند و موقعیت یا اندیس نتیجه را برمی‌گرداند:

مثال

استفاده از یک رشته متنی برای پیدا کردن کلمه "Wikicod" در یک رشته متنی:

var str = "Visit W3Schools!";
var n = str.search("W3Schools");

استفاده از تابع ()search رشته‌های متنی با عبارت‌های با قاعده

مثال

استفاده از یک عبارت با قاعده برای جستجوی غیر حساس به حروف کوچک و بزرگ کلمه "Wikicod" در یک رشته متنی:

var str = "Visit Wikicod";
var n = str.search(/wikicod/i);

نتیجه متغیر n برابر خواهد بود با:

6

استفاده از متد ()replace با یک رشته متنی

متدreplace()یک مقدار بهخصوص را با یک مقدار دیگر در یک رشته متنی جابه‌جا می‌کند:

var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "Wikicod");

استفاده از تابع ()replace با یک عبارت باقاعده

مثال

استفاده از یک عبارت با قاعده غیر حساس به حروف کوچک و بزرگ برای جابه‌جایی کلمه Microsoft با کلمه Wikicodدر یک رشته متنی:

var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "Wikicod");

مقدار متغیر Res برابر خواهد بود با:

Visit Wikicod!

آیا شما توجه کرده‌اید؟


Modifierهای عبارت‌های باقاعده

Modifier توضیحات
i جستجوی غیر حساس به حروف کوچک و بزرگ
g جستجوی کامل (تمامی نتایج را پیدا می‌کند حتی اگر اولین نتیجه یکسان را هم قبلاً پیدا کرده باشد)
m امکان پیدا کردن نتایج جستجو در چندین خط را فراهم می‌کند.

الگوهای عبارت‌های باقاعده

از براکت‌ها برای پیدا کردن محدوده ای از کاراکترها استفاده می‌شود:

عبارت توضیحات
[abc] تمام کاراکتر های بین براکت‌ها را پیدا می‌کند.
[۰-۹] تمام اعداد بین براکت‌ها را پیدا می‌کند.
(x|y) تمام گزینه های بین | را پیدا می کند.

متا کاراکترها، کاراکترهایی هستند که معنی خاصی می‌دهند:

متا کاراکتر توضیحات
\d یک عدد را پیدا می‌کند.
\s یک کاراکتر فاصله را پیدا می‌کند.
\b نتیجه را در ابتدای کلمه ای مانند \bword یا در پایان کلمه ای مانند word\b پیدا می‌کند.
\uxxxx کاراکتر unicode را که با یک عدد هگزا دسیمال مشخص شده‌است را پیدا می‌کند.

کمیت (به انگلیسی: Quantifiers)مقادیر را تعریف می‌کند:

عبارت توضیحات
n+ تمامی نتایجی را که حداقل یک n دارند را پیدا می‌کند.
n* تمامی نتایجی را که دارای صفر یا تعداد بیشتری از حرف n می‌باشند را پیدا می‌کند.
n? تمامی نتایجی را که دارای صفر یا تعداد بیشتری از حرف n می‌باشند را پیدا می‌کند.

استفاده از شی یا Object ,RegExp

در جاوااسکریپت، شی RegEXP یک عبارت با قاعده با ویژگی‌ها و متدهای از پیش تعریف شده‌است.

استفاده از متد ()test

متدtest()یک متد عبارت از شی RegExp می‌باشد.

این متد یک رشته متنی را برای پیدا کردن الگو یا آرگومان خود جستجو می‌کند و با توجه به نتیجه مقدار True یا False را برمی‌گرداند.

مثال پایین یک رشته متنی را برای کاراکتر "e" جستجو می‌کند:

مثال

var patt = /e/;
patt.test("The best things in life are free!");

از آنجایی که کاراکتر "e" در رشته متنی مورد نظر وجود دارید، خروجی کدبالا به صورت زیر خواهد بود:

true

شما مجبور نیستید که عبارت با قاعده را ابتدا درون یک متغیر قرار دهید. دو خط کد بالا را می‌توان به یک خط کد به صورت زیر خلاصه کرد:

/e/.test("The best things in life are free!");

استفاده از متد ()exec

متدexec()یک متد شی RegExp است.

این متد یک رشته متنی را برای یک مقدار به خصوص جستجو می‌کند و نتیجه را به صورت یک شی یا object برمی‌گرداند.

اگر هیچ نتیجه ای یافت نشود، این متد یک شی خالی (null) را برمی‌گرداند.

مثال زیر یک رشته متنی را برای پیدا کردن کاراکتر "e" جستجو می‌کند:

مثال ۱

/e/.exec("The best things in life are free!");

مرجع کامل RegExp

برای دیدن یک کامل، شما می‌توانید مقاله ما را تحت عنوان مرجع کامل RegExp در جاوااسکریپت، را مشاهده کنید.

مرجع شامل توضیحات و مثال‌هایی از تمامی ویژگی‌ها و متدهای RegExp است.

منابع آموزشی