با تشکر از شکیبایی شما سایت در حال بروزرسانی است.

متد رشته JavaScript

روش های رشته به شما کمک می کند تا با رشته ها کار کنید.

متد رشته و خاصیت آن

مقادیر اولیه، مانند “John Doe"، نمیتواند دارای خواص یا روش باشد (زیرا آنها اشیا نیستند).
اما با جاوا اسکریپت، روش ها و خواص نیز برای مقادیر ابتدایی در دسترس هستند، زیرا جاوااسکریپت، هنگام اجرای روش ها و خواص، به مقادیر ابتدایی به عنوان اشیا رفتار می کند.

طول رشته

ویژگی رشته طول رشته را برمیگرداند.

ویژگی رشته
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length; 
مشاهده مثال

یافتن یک رشته در یک رشته

روش indexOf () شاخص (موقعیت) اولین رخداد یک متن مشخص شده در یک رشته را نشان می دهد:

جستجو رشته
var str = "Please locate where 'locate' occurs!";
var pos = str.indexOf("locate");
مشاهده مثال

روش lastIndexOf () شاخص آخرین رخداد یک متن مشخص در یک رشته را نشان می دهد:

جستجوی آخر رشته
var str = "Please locate where 'locate' occurs!";
var pos = str.lastIndexOf("locate");
مشاهده مثال

در هر دو روش indexOf () و lastIndexOf ()اگر متن پیدا نشد مقدار -1  را برمیگرداند

نکته: درجاوا اسکریپت محاسبه موقعیت از صفر است.
0 اولین موقعیت در رشته است، 1 دوم است، 2 سوم است ...

هر دو روش پارامتر دوم را به عنوان موقعیت شروع جستجو می پذیرد:

تعیین شروع برای جستجوی رشته
var str = "Please locate where 'locate' occurs!";
var pos = str.indexOf("locate",15);
مشاهده مثال

جستجو یک رشته در رشته

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

جستجوی درشته در رشته
var str = "Please locate where 'locate' occurs!";
var pos = str.search("locate");
مشاهده مثال

آیا توجه کردید؟

دو روش، indexOf () و search () برابر است؟
آنها همان استدلال (پارامترها) را قبول می کنند و همان مقدار را باز می گردانند؟
البته دو روش برابر نیستند. این تفاوت ها هستند:

  •  روش search () نمیتواند آرگومان موقعیت دوم را آغاز کند.
  •   روش indexOf () نمیتواند مقادیر جستجوی قدرتمند (عبارات منظم) را بیاورد.

شما در مورد بعضی از عبارات منظم در فصل بعد بیشتر بدانید.

استخراج قطعات رشته

3 روش برای استخراج بخشی از یک رشته وجود دارد:

  • قطعه (شروع، پایان)
  •  زیر رشته (شروع، پایان)
  •  زیر (شروع، طول)

متد slice()

slice() بخشی از یک رشته را استخراج می کند و بخش استخراج شده را در یک رشته جدید باز می گرداند.
این روش دو پارامتر را به دست می دهد: شاخص شروع (موقعیت) و شاخص پایانی (موقعیت).
این مثال یک بخش از رشته را از موقعیت 7 به موقعیت 13 بریده است:

روش slice()
var str = "Apple, Banana, Kiwi";
var res = str.slice(7, 13);
مشاهده مثال

اگر یک پارامتر منفی باشد، موقعیت از انتهای رشته شمارش می شود.

این مثال یک بخش از رشته را از موقعیت -12 به موقعیت -6 بریده است

روش slice() با منفی
var str = "Apple, Banana, Kiwi";
var res = str.slice(-12, -6);
مشاهده مثال

اگر پارامتر دوم را حذف کنید، روش دیگر بقیه رشته را برش می دهد:

شروع در slice
 var res = str.slice(7); 
مشاهده مثال

یا از انتهای شمارش می شود.

منفی در slice()
var res = str.slice(-12);
مشاهده مثال

نکته: موقعیت های منفی در Internet Explorer 8 و قبل از آن کار نمی کنند.

متد substring()

substring()شبیه به  slice().است.
تفاوت این است که substring () نمیتواند شاخصهای منفی را بپذیرد.

روش substring()
var str = "Apple, Banana, Kiwi";
var res = str.substring(7, 13);
مشاهده مثال

اگر پارامتر دوم را حذف کنید، substring () بقیه رشته را برش می دهد.

متد substr()

substr () شبیه به slice()است.
تفاوت این است که پارامتر دوم طول بخش استخراج را مشخص می کند.
 

روش substr()
var str = "Apple, Banana, Kiwi";
var res = str.substr(7, 6);
مشاهده مثال

اگر پارامتر اول منفی باشد، موقعیت از انتهای رشته شمارش می شود.
پارامتر دوم نمی تواند منفی باشد، زیرا طول آن را تعریف می کند.
اگر پارامتر دوم را حذف کنید، substr () از بقیه رشته خارج می شود.

جایگزینی محتوای رشته

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

جایگزینی
str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3Schools");
مشاهده مثال

نکته: متد replace () رشته ای را که در آن نامیده می شود تغییر نمی دهد. یک رشته جدید باز می شود.

به طور پیش فرض، تابع replace () فقط اولین کلمه  را جایگزین می کند:

اولین جایگزینی
str = "Please visit Microsoft and Microsoft!";
var n = str.replace("Microsoft", "W3Schools");
مشاهده مثال

به طور پیش فرض، تابع replace () حساس به حروف بزرگ می باشد

حساس به حروف
str = "Please visit Microsoft!";
var n = str.replace("MICROSOFT", "W3Schools");
مشاهده مثال

برای جایگزینی حساس به علامت، یک علامت منظم با /i (غیر حساس) استفاده کنید:

بدون حساسیت
str = "Please visit Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3Schools");
مشاهده مثال

نکته: توجه داشته باشید که عبارات منظم بدون نقل قول نوشته شده اند.

برای جایگزینی تمام کلمات، از یک عبارت منظم با یک / g () استفاده کنید:

جایگیزینی همه کلمات
str = "Please visit Microsoft and Microsoft!";
var n = str.replace(/Microsoft/g, "W3Schools");
مشاهده مثال

تبدیل به حروف کوچک و بزرگ

نبدیل به حروف بزرگ با toUpperCase():

تبدیل به حروف بزرگ
 var text1 = "Hello World!";       // String
var text2 = text1.toUpperCase();  // text2 is text1 converted to upper 
مشاهده مثال

تبدیل به حروف کوچک

تبدیل به حروف کوچک
 var text1 = "Hello World!";       // String
var text2 = text1.toLowerCase();  // text2 is text1 converted to lower 
مشاهده مثال

متد concat()

concat () به دو یا چند رشته تقسیم می شود:

روش concat()
var text1 = "Hello";
var text2 = "World";
var text3 = text1.concat(" ", text2);
مشاهده مثال

روش concat () می تواند به جای اپراتور plus استفاده شود. این دو خط همانند هستند:

var text = "Hello" + " " + "World!"; var text = "Hello".concat(" ", "World!");

تمام روشهای رشته یک رشته جدید را بازمی گرداند. آنها رشته اصلی را اصلاح نمی کنند.
به صورت رسمی باید گفت: رشته ها غیر قابل تغییر هستند: رشته ها را نمی توان تغییر داد، فقط جایگزین شد.

استخراج کاراکترهای رشته

2 روش امن برای استخراج کاراکترهای رشته وجود دارد:
     charAt (موقعیت)
     charCodeAt (موقعیت)

روش charAt ()

روش charAt () کاراکتر را در یک شاخص مشخص (موقعیت) در یک رشته باز می کند:

روش charAt()
 var str = "HELLO WORLD";
str.charAt(0);            // returns H 
مشاهده مثال

روش charCodeAt ()

روش charCodeAt () یونیکد کاراکتر را در یک رشته مشخص در یک رشته باز می کند:

روش charCodeAt()
 var str = "HELLO WORLD";

str.charCodeAt(0);         // returns 72 
مشاهده مثال

دسترسی به یک رشته به عنوان یک آرایه بی ثبات است

شما ممکن است کد مانند این را دیده باشید، دسترسی به یک رشته به عنوان یک آرایه:

var str = "HELLO WORLD"; str[0]; // returns H

این ناامن و غیر قابل پیش بینی است:

  •   این کار در تمام مرورگرها کار نمی کند (نه در IE5، IE6، IE7)
  •   این باعث می شود رشته ها مانند آرایه ها باشد
  •   str [0] = "H" خطا نمی دهد (اما کار نمی کند)

اگر می خواهید یک رشته را به عنوان یک آرایه بخوانید، ابتدا آن را به آرایه تبدیل کنید.

تبدیل یک رشته به آرایه

یک رشته را می توان با روش split () به یک آرایه تبدیل کرد:

تبدیل به آرایه
 var txt = "a,b,c,d,e";   // String
txt.split(",");          // Split on commas
txt.split(" ");          // Split on spaces
txt.split("|");          // Split on pipe 
مشاهده مثال

اگر جداکننده حذف شود، آرایه بازگشتی شامل کل رشته در index [0] خواهد بود.
اگر جداساز "" باشد، آرایه بازگشتی آرایه ای از کاراکترهای تک هسته ای خواهد بود:

ایندیکس در آرایه
 var txt = "Hello";       // String
txt.split("");           // Split in characters 
مشاهده مثال

 

نظر شما

لطفا نام و نام خانوادگی خود را وارد کنید
لطفا ایمیل خود را وارد کنید لطفا ایمیل صحیح وارد کنید.
لطفا متن نظر خود را وارد کنید
>

یادگیری JavaScript)

مقالات و دروس

به خبرنامه مدرسه طراحی وب ایران بپیوندید

مقالات مرتبط