تفاوت میان نسخه‌های «JavaScript:متدهای نوع داده متنی یا رشته‌ای در جاوااسکریپت»

از ویکی کد
پرش به ناوبری پرش به جستجو
(صفحه‌ای تازه حاوی «'''JavaScript String Methods''' '''متد های نوع داده متنی یا رشته ای در جاوااسکریپت''' = String meth...» ایجاد کرد)
 
سطر ۱: سطر ۱:
 
'''JavaScript String Methods'''
 
'''JavaScript String Methods'''
  
'''متد های نوع داده متنی یا رشته ای در جاوااسکریپت'''
+
'''متدهای نوع داده متنی یا رشته‌ای در جاوااسکریپت'''
  
 
= String methods help you to work with strings. =
 
= String methods help you to work with strings. =
متدهای کمکی برای نوع داده متنی یا رشته ایString به شما کمک می کند تا با این نوع از داده کار کنید .  
+
متدهای کمکی برای نوع داده متنی یا رشته‌ایString به شما کمک می‌کند تا با این نوع از داده کار کنید.
  
 
== String Methods and Properties ==
 
== String Methods and Properties ==
'''متد های کمکی رشته ای یاString و ویژگی های کمکی'''
+
'''متدهای کمکی رشته‌ای یاString و ویژگی‌های کمکی'''
  
 
Primitive values, like "John Doe", cannot have properties or methods (because they are not objects).
 
Primitive values, like "John Doe", cannot have properties or methods (because they are not objects).
  
مقادیر اصلی یا  primitive همانند عبارت "John Doe" ، نمی توانند ویژگی و یا متد داشته باشند . ( زیرا که آنها اشیا یا object نیستند .)
+
مقادیر اصلی یا primitive همانند عبارت "John Doe"، نمی‌توانند ویژگی یا متد داشته باشند. (زیرا که آنها اشیا یا object نیستند )
  
 
But with JavaScript, methods and properties are also available to primitive values, because JavaScript treats primitive values as objects when executing methods and properties.
 
But with JavaScript, methods and properties are also available to primitive values, because JavaScript treats primitive values as objects when executing methods and properties.
  
اما با زبان جاوا اسکریپت ، متد ها و ویژگی ها هم برای مقادیر اصلی یا  primitive هم در دسترس هستند ، زیرا جاوا اسکریپت زمانی که متد ها و ویژگی ها را اجرا می کند  با آنها همانند یک شی یاobject  برخورد می کند.  
+
اما با زبان جاوا اسکریپت، متدها و ویژگی‌ها هم برای مقادیر اصلی یا primitive هم در دسترس هستند، زیرا جاوا اسکریپت زمانی که متدها و ویژگی‌ها را اجرا می‌کند با آنها همانند یک شی یاobject برخورد می‌کند.
  
 
== String Length ==
 
== String Length ==
'''طول یک رشته متنی یاString'''  
+
'''طول یک رشته متنی یاString'''
  
 
The <code>length</code> property returns the length of a string:
 
The <code>length</code> property returns the length of a string:
  
ویژگی length طول یک رشته متنی یا String را برمی گرداند:
+
ویژگی length طول یک رشته متنی یا String را برمی‌گرداند:
  
 
=== Example ===
 
=== Example ===
 
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  
var sln = txt.length;  
+
var sln = txt.length;
  
 
== Finding a String in a String ==
 
== Finding a String in a String ==
'''پیدا کردن یک رشته متنی درون یک رشته'''  
+
'''پیدا کردن یک رشته متنی درون یک رشته'''
  
 
The <code>indexOf()</code> method returns the index of (the position of) the <code>first</code> occurrence of a specified text in a string:
 
The <code>indexOf()</code> method returns the index of (the position of) the <code>first</code> occurrence of a specified text in a string:
  
متد indexOf() اندیس (موقعیت ) نقطه شروع یک متن به خصوص،  را در یک رشته متنی یا String برمی گرداند :
+
متد indexOf() اندیس (موقعیت) نقطه شروع یک متن به خصوص، را در یک رشته متنی یا String برمی‌گرداند:
  
 
=== Example ===
 
=== Example ===
سطر ۴۳: سطر ۴۳:
 
JavaScript counts positions from zero.
 
JavaScript counts positions from zero.
  
جاوا اسکریپت شمارش موقعیت یا اندیس های یک رشته متنی را از صفر شروع می کند .  
+
جاوا اسکریپت شمارش موقعیت یا اندیس‌های یک رشته متنی را از صفر شروع می‌کند.
  
 
0 is the first position in a string, 1 is the second, 2 is the third ...
 
0 is the first position in a string, 1 is the second, 2 is the third ...
  
عدد صفر نشان دهنده موقعیت اولین کاراکتر در یک رشته متنی است ، عدد یک موقعیت دومین کاراکتر ، عدد دو موقعیت سومین کاراکتر ... را نشان می دهد.
+
عدد صفر نشان دهنده موقعیت اولین کاراکتر در یک رشته متنی است، عدد یک موقعیت دومین کاراکتر، عدد دو موقعیت سومین کاراکتر را نشان می‌دهد.
  
 
The <code>lastIndexOf()</code> method returns the index of the '''last''' occurrence of a specified text in a string:
 
The <code>lastIndexOf()</code> method returns the index of the '''last''' occurrence of a specified text in a string:
  
متد lastIndexOf() موقعیت '''آخرین''' کاراکتر یک رشته متنی را درون یک متن باز میگرداند :
+
متد lastIndexOf() موقعیت '''آخرین''' کاراکتر یک رشته متنی را درون یک متن بازمی‌گرداند:
  
 
=== Example ===
 
=== Example ===
سطر ۶۰: سطر ۶۰:
 
Both <code>indexOf()</code>, and <code>lastIndexOf()</code> return -1 if the text is not found.
 
Both <code>indexOf()</code>, and <code>lastIndexOf()</code> return -1 if the text is not found.
  
هر دو متد indexOf() ، و lastIndexOf() در صورتی که متن مورد نظر در درون رشته مورد نظر وجود نداشته باشد مقدار 1- را به عنوان خروجی برمی گردانند.  
+
هر دو متد indexOf()، و lastIndexOf() در صورتی که متن مورد نظر در درون رشته مورد نظر وجود نداشته باشد مقدار ۱- را به عنوان خروجی برمی‌گردانند.
  
 
=== Example ===
 
=== Example ===
سطر ۶۹: سطر ۶۹:
 
Both methods accept a second parameter as the starting position for the search:
 
Both methods accept a second parameter as the starting position for the search:
  
هر دو متد پارامتر دومی دارند که اندیس یا موقعیت شروع برای جستجو در رشته را دریافت می کند :
+
هر دو متد پارامتر دومی دارند که اندیس یا موقعیت شروع برای جستجو در رشته را دریافت می‌کند:
  
 
=== Example ===
 
=== Example ===
سطر ۷۸: سطر ۷۸:
 
The <code>lastIndexOf()</code> methods searches backwards (from the end to the beginning), meaning: if the second parameter is <code>15</code>, the search starts at position 15, and searches to the beginning of the string.
 
The <code>lastIndexOf()</code> methods searches backwards (from the end to the beginning), meaning: if the second parameter is <code>15</code>, the search starts at position 15, and searches to the beginning of the string.
  
متد lastIndexOf() عمل جستجو را از انتهای رشته ( از آخر به اول ) انجام می دهد ، این بدان معناست که : اگر مقدار پارامتر دوم متد عدد 15 باشد ، عمل جستجو از اندیس یا موقعیت 15 شروع می شود و عمل جستجو تا به ابتدای رشته ادامه می یابد.  
+
متد lastIndexOf() عمل جستجو را از انتهای رشته (از آخر به اول) انجام می‌دهد، این بدان معناست که: اگر مقدار پارامتر دوم متد عدد ۱۵ باشد، عمل جستجو از اندیس یا موقعیت ۱۵ شروع می‌شود و عمل جستجو تا به ابتدای رشته ادامه می‌یابد.
  
 
=== Example ===
 
=== Example ===
سطر ۹۰: سطر ۹۰:
 
The <code>search()</code> method searches a string for a specified value and returns the position of the match:
 
The <code>search()</code> method searches a string for a specified value and returns the position of the match:
  
متد search() یک رشته متنی را برای پیدا کردن یک مقدار به خصوص جستجو می کند و موقعیت یا اندیس نتیجه را برمی گرداند:
+
متد search() یک رشته متنی را برای پیدا کردن یک مقدار به خصوص جستجو می‌کند و موقعیت یا اندیس نتیجه را برمی‌گرداند:
  
 
=== Example ===
 
=== Example ===
سطر ۹۸: سطر ۹۸:
  
 
== Did You Notice? ==
 
== Did You Notice? ==
آیا این نکته را متوجه شدید ؟
+
آیا این نکته را متوجه شدید؟
  
 
The two methods, <code>indexOf()</code> and <code>search()</code>, are '''equal?'''
 
The two methods, <code>indexOf()</code> and <code>search()</code>, are '''equal?'''
  
دو متد ، indexof() و search() ، باهم '''برابر''' هستند ؟
+
دو متد، indexof() و search()، باهم '''برابر''' هستند؟
  
 
They accept the same arguments (parameters), and return the same value?
 
They accept the same arguments (parameters), and return the same value?
  
آنها آرگومانها (پارامتر های) یکسانی دارند ، و مقدار یکسانی را به عنوان خروجی باز میگردانند ؟
+
آنها آرگومانها (پارامترهای) یکسانی دارند، و مقدار یکسانی را به عنوان خروجی بازمی‌گردانند؟
  
 
The two methods are '''NOT''' equal. These are the differences:
 
The two methods are '''NOT''' equal. These are the differences:
  
اما این دو متد باهم برابر '''نیستند''' . در زیر تفاوت های این دو متد را می بینید :
+
اما این دو متد باهم برابر '''نیستند'''. در زیر تفاوت‌های این دو متد را می‌بینید:
  
·  The <code>search()</code> method cannot take a second start position argument.
+
· The <code>search()</code> method cannot take a second start position argument.
  
متد search() نمی تواند پارامتر دومی را به عنوان اندیس یا موقعیت شروع جستجو دریافت کند.  
+
متد search() نمی‌تواند پارامتر دومی را به عنوان اندیس یا موقعیت شروع جستجو دریافت کند.
  
 
The <code>indexOf()</code> method cannot take powerful search values (regular expressions).
 
The <code>indexOf()</code> method cannot take powerful search values (regular expressions).
  
متد indexOf() نمی تواند مقادیر سخت (عبارات با قاعده) را در عبارت های رشته ای یا متنی جستجو کند .  
+
متد indexOf() نمی‌تواند مقادیر سخت (عبارات با قاعده) را در عبارت‌های رشته‌ای یا متنی جستجو کند.
  
 
You will learn more about regular expressions in a later chapter.
 
You will learn more about regular expressions in a later chapter.
  
شما در مورد عبارات های با قاعده در فصل های آینده مطالب بیشتری را خواهید آموخت .  
+
شما در مورد عبارات‌های با قاعده در فصل‌های آینده مطالب بیشتری را خواهید آموخت.
  
 
== Extracting String Parts ==
 
== Extracting String Parts ==
'''جدا سازی بخش های داده های متنی یا رشته ای string'''
+
'''جداسازی بخش‌های داده‌های متنی یا رشته‌ای string'''
  
 
There are 3 methods for extracting a part of a string:
 
There are 3 methods for extracting a part of a string:
  
سه متد برای جدا سازی یک بخش از یک رشته متنی یا String وجود دارد :
+
سه متد برای جداسازی یک بخش از یک رشته متنی یا String وجود دارد:
 
 
 
* slice(''start'', ''end'')
 
* slice(''start'', ''end'')
* substring(''start'',     ''end'')
+
* substring(''start'', ''end'')
 
* substr(''start'', ''length'')
 
* substr(''start'', ''length'')
  
سطر ۱۴۰: سطر ۱۳۹:
 
<code>slice()</code> extracts a part of a string and returns the extracted part in a new string.
 
<code>slice()</code> extracts a part of a string and returns the extracted part in a new string.
  
متد slice() یک بخش از یک رشته متنی یا String را جدا می کند و بخش جدا شده را به عنوان یک رشته متنی یا String جدید برمی گرداند.  
+
متد slice() یک بخش از یک رشته متنی یا String را جدا می‌کند و بخش جدا شده را به عنوان یک رشته متنی یا String جدید برمی‌گرداند.
  
 
This example slices out a portion of a string from position 7 to position 12 (13-1):
 
This example slices out a portion of a string from position 7 to position 12 (13-1):
  
این مثال، یک  بخشی از رشته متنی را از اندیس شماره هفت تا اندیس شماره دوازده (1-13) را جدا می کند :
+
این مثال، یک بخشی از رشته متنی را از اندیس شماره هفت تا اندیس شماره دوازده (۱–۱۳) را جدا می‌کند:
  
 
=== Example ===
 
=== Example ===
سطر ۱۵۳: سطر ۱۵۲:
 
The result of res will be:
 
The result of res will be:
  
نتیجه متغیرres برابر خواهد بود با :
+
نتیجه متغیرres برابر خواهد بود با:
  
 
<code>Banana</code>
 
<code>Banana</code>
سطر ۱۵۹: سطر ۱۵۸:
 
Remember: JavaScript counts positions from zero. First position is 0.
 
Remember: JavaScript counts positions from zero. First position is 0.
  
'''به یاد داشته باشید :''' جاوا اسکریپت شمارش موقعیت و یا اندیس را از صفر شروع می کند . اندیس اولین کاراکتر صفر است .  
+
'''به یاد داشته باشید :''' جاوا اسکریپت شمارش موقعیت یا اندیس را از صفر شروع می‌کند. اندیس اولین کاراکتر صفر است.
  
 
If a parameter is negative, the position is counted from the end of the string.
 
If a parameter is negative, the position is counted from the end of the string.
  
اگر یک پارامتر عددی منفی باشد ، اندیس و یا موقعیت از انتهای رشته شمرده می شود .  
+
اگر یک پارامتر عددی منفی باشد، اندیس یا موقعیت از انتهای رشته شمرده می‌شود.
  
This example slices out a portion of a string from position -12 to position -6:  
+
This example slices out a portion of a string from position -12 to position -6:
  
این مثال بخشی از رشته متنی را با اندیس 12- تا 6- را جدا می کند :
+
این مثال بخشی از رشته متنی را با اندیس ۱۲- تا ۶- را جدا می‌کند:
  
 
=== Example ===
 
=== Example ===
سطر ۱۷۶: سطر ۱۷۵:
 
If you omit the second parameter, the method will slice out the rest of the string:
 
If you omit the second parameter, the method will slice out the rest of the string:
  
اگر شما پارامتر دوم را ننویسید ، متد رشته متنی را از میزان پارامتر اول به بعد را جدا خواهد کرد :
+
اگر شما پارامتر دوم را ننویسید، متد رشته متنی را از میزان پارامتر اول به بعد را جدا خواهد کرد:
  
 
=== Example ===
 
=== Example ===
سطر ۱۸۳: سطر ۱۸۲:
 
or, counting from the end:
 
or, counting from the end:
  
یا ،  شمارش از اندیس آخر رشته صورت بگیرد :
+
یا، شمارش از اندیس آخر رشته صورت بگیرد:
  
 
=== Example ===
 
=== Example ===
سطر ۱۹۰: سطر ۱۸۹:
 
Negative positions do not work in Internet Explorer 8 and earlier.
 
Negative positions do not work in Internet Explorer 8 and earlier.
  
اندیس های منفی در اینترنت اکسپلور ورژن 8 و ورژن های قبلی کار نمی کنند .  
+
اندیس‌های منفی در اینترنت اکسپلور ورژن ۸ و ورژن‌های قبلی کار نمی‌کنند.
  
 
== The substring() Method ==
 
== The substring() Method ==
سطر ۱۹۷: سطر ۱۹۶:
 
<code>substring()</code> is similar to <code>slice()</code>.
 
<code>substring()</code> is similar to <code>slice()</code>.
  
متد substring() بسیار شبیه متد slice() است .  
+
متد substring() بسیار شبیه متد slice() است.
  
 
The difference is that <code>substring()</code> cannot accept negative indexes.
 
The difference is that <code>substring()</code> cannot accept negative indexes.
  
تفاوت این دو متد در این است که متد substring() نمی تواند اندیس های منفی را به عنوان پارامتر یا آرگومان قبول کند .  
+
تفاوت این دو متد در این است که متد substring() نمی‌تواند اندیس‌های منفی را به عنوان پارامتر یا آرگومان قبول کند.
  
 
=== Example ===
 
=== Example ===
سطر ۲۱۰: سطر ۲۰۹:
 
The result of ''res'' will be:
 
The result of ''res'' will be:
  
نتیجه متغیرres برابر خواهد بود با :
+
نتیجه متغیرres برابر خواهد بود با:
  
 
<code>Banana</code>
 
<code>Banana</code>
سطر ۲۱۶: سطر ۲۱۵:
 
If you omit the second parameter, <code>substring()</code> will slice out the rest of the string.
 
If you omit the second parameter, <code>substring()</code> will slice out the rest of the string.
  
اگر شما پارامتر دوم را ننویسید ، متد substring() از اندیسی که پارامتر اول به آن اشاره می کند تا به بعد را جدا می کند .  
+
اگر شما پارامتر دوم را ننویسید، متد substring() از اندیسی که پارامتر اول به آن اشاره می‌کند تا به بعد را جدا می‌کند.
  
 
== The substr() Method ==
 
== The substr() Method ==
سطر ۲۲۳: سطر ۲۲۲:
 
<code>substr()</code> is similar to <code>slice()</code>.
 
<code>substr()</code> is similar to <code>slice()</code>.
  
متد substr() بسیار شبیه Slice() است.  
+
متد substr() بسیار شبیه Slice() است.
  
 
The difference is that the second parameter specifies the '''length''' of the extracted part.
 
The difference is that the second parameter specifies the '''length''' of the extracted part.
  
تفاوت بین این دو متد این است که پارامتر دوم '''طول''' بخش جدا شده را مشخص می کند .
+
تفاوت بین این دو متد این است که پارامتر دوم '''طول''' بخش جدا شده را مشخص می‌کند.
  
 
=== Example ===
 
=== Example ===
سطر ۲۳۶: سطر ۲۳۵:
 
The result of res will be:
 
The result of res will be:
  
نتیجه متغیرres برابر خواهد بود با :
+
نتیجه متغیرres برابر خواهد بود با:
  
 
<code>Banana</code>
 
<code>Banana</code>
سطر ۲۴۲: سطر ۲۴۱:
 
If you omit the second parameter, <code>substr()</code> will slice out the rest of the string.
 
If you omit the second parameter, <code>substr()</code> will slice out the rest of the string.
  
اگر شما پارامتر دوم را در نظر نگیرید ، متد substr() از اندیسی که پارامتر اول به آن اشاره می کند ، شروع می کند و ما بقی رشته را نیز جدا می کند .  
+
اگر شما پارامتر دوم را در نظر نگیرید، متد substr() از اندیسی که پارامتر اول به آن اشاره می‌کند، شروع می‌کند و ما بقی رشته را نیز جدا می‌کند.
  
 
=== Example ===
 
=== Example ===
سطر ۲۵۱: سطر ۲۵۰:
 
The result of res will be:
 
The result of res will be:
  
نتیجه متغیر res برابر خواهد بود با :
+
نتیجه متغیر res برابر خواهد بود با:
  
 
Banana, Kiwi
 
Banana, Kiwi
سطر ۲۵۷: سطر ۲۵۶:
 
If the first parameter is negative, the position counts from the end of the string.
 
If the first parameter is negative, the position counts from the end of the string.
  
اگر پارامتر اول منفی باشد، موقعیت یا اندیس از انتهای رشته متنی شمرده می شود .  
+
اگر پارامتر اول منفی باشد، موقعیت یا اندیس از انتهای رشته متنی شمرده می‌شود.
  
 
=== Example ===
 
=== Example ===
سطر ۲۶۶: سطر ۲۶۵:
 
The result of res will be:
 
The result of res will be:
  
نتیجه متغیر res برابر خواهد بود با :
+
نتیجه متغیر res برابر خواهد بود با:
  
 
<code>Kiwi</code>
 
<code>Kiwi</code>
  
 
== Replacing String Content ==
 
== Replacing String Content ==
'''جابه جا کردن محتوای رشته های متنی یا String'''
+
'''جابه‌جا کردن محتوای رشته‌های متنی یا String'''
  
 
The <code>replace()</code> method replaces a specified value with another value in a string:
 
The <code>replace()</code> method replaces a specified value with another value in a string:
  
متد replace() یک مقدار به خصوص را با یک مقدار دیگر در یک رشته متنی یا string جا به جا می کند :
+
متد replace() یک مقدار به خصوص را با یک مقدار دیگر در یک رشته متنی یا string جابه‌جا می‌کند:
  
 
=== Example ===
 
=== Example ===
سطر ۲۸۴: سطر ۲۸۳:
 
The <code>replace()</code> method does not change the string it is called on. It returns a new string.
 
The <code>replace()</code> method does not change the string it is called on. It returns a new string.
  
متد replace() رشته متنی را که از آن فراخوانی شده است را تغییر نمی دهد . این تابع یک رشته متنی جدید را به عنوان خروجی باز میگرداند .  
+
متد replace() رشته متنی را که از آن فراخوانی شده‌است را تغییر نمی‌دهد. این تابع یک رشته متنی جدید را به عنوان خروجی بازمی‌گرداند.
  
 
By default, the <code>replace()</code> method replaces '''only the first''' match:
 
By default, the <code>replace()</code> method replaces '''only the first''' match:
  
به صورت پیشفرض ، متد replace() تنها '''اولین نتیجه برابر''' را جا به جا می کند :
+
به صورت پیشفرض، متد replace() تنها '''اولین نتیجه برابر''' را جابه‌جا می‌کند:
  
 
=== Example ===
 
=== Example ===
سطر ۲۹۷: سطر ۲۹۶:
 
By default, the <code>replace()</code> method is case sensitive. Writing MICROSOFT (with upper-case) will not work:
 
By default, the <code>replace()</code> method is case sensitive. Writing MICROSOFT (with upper-case) will not work:
  
به صورت پیشفرض ، متد replace() یک متد حساس به حروف کوچک یا بزرگ (case sensitive)  است . نوشتن کلمه MICROSOFT ( با حروف بزرگ )  برای رشته متنی در مثال زیر کار نخواهد کرد :
+
به صورت پیشفرض، متد replace() یک متد حساس به حروف کوچک یا بزرگ (case sensitive) است. نوشتن کلمه MICROSOFT (با حروف بزرگ) برای رشته متنی در مثال زیر کار نخواهد کرد:
  
 
=== Example ===
 
=== Example ===
سطر ۳۰۶: سطر ۳۰۵:
 
To replace case insensitive, use a '''regular expression''' with an <code>/i</code> flag (insensitive):
 
To replace case insensitive, use a '''regular expression''' with an <code>/i</code> flag (insensitive):
  
برای اینکه هنگام جا به جای رشته ها حساسیت به حروف کوچک و بزرگ در نظر گرفته نشود ، از '''یک عبارت با قاعده''' به وسیله ی /i (عدم حساسیت به حروف کوچک و بزرگ ) می بایست استفاده کنید :
+
برای اینکه هنگام جا به جای رشته‌ها حساسیت به حروف کوچک و بزرگ در نظر گرفته نشود، از '''یک عبارت با قاعده''' به وسیلهٔ /i (عدم حساسیت به حروف کوچک و بزرگ) می‌بایست استفاده کنید:
  
 
=== Example ===
 
=== Example ===
سطر ۳۱۵: سطر ۳۱۴:
 
Note that regular expressions are written without quotes.
 
Note that regular expressions are written without quotes.
  
'''نکته:'''توجه داشته باشید که عبارت های با قاعده بدون کوتیشن (′ یا ″ ) نوشته می شوند .  
+
'''نکته:'''توجه داشته باشید که عبارت‌های با قاعده بدون کوتیشن (′ یا ″) نوشته می‌شوند.
  
 
To replace all matches, use a '''regular expression''' with a <code>/g</code> flag (global match):
 
To replace all matches, use a '''regular expression''' with a <code>/g</code> flag (global match):
  
برای اینکه تمامی نتایج یکسان جا به جا شوند ، از '''عبارت با قاعده''' با /g (که مخفف تمامی نتایج همسان یا global match) است استفاده کنید :
+
برای اینکه تمامی نتایج یکسان جابه‌جا شوند، از '''عبارت با قاعده''' با /g (که مخفف تمامی نتایج همسان یا global match) است استفاده کنید:
  
 
=== Example ===
 
=== Example ===
سطر ۳۲۸: سطر ۳۲۷:
 
You will learn a lot more about regular expressions in the chapter JavaScript Regular Expressions.
 
You will learn a lot more about regular expressions in the chapter JavaScript Regular Expressions.
  
شما مطالب بیشتری را در مورد عبارت های با قاعده در فصل عبارت های با قاعده در جاوا اسکریپت خواهید آموخت .  
+
شما مطالب بیشتری را در مورد عبارت‌های با قاعده در فصل عبارت‌های با قاعده در جاوا اسکریپت خواهید آموخت.
  
 
== Converting to Upper and Lower Case ==
 
== Converting to Upper and Lower Case ==
'''تبدیل به حروف کوچک و بزرگ'''  
+
'''تبدیل به حروف کوچک و بزرگ'''
  
 
A string is converted to upper case with <code>toUpperCase()</code>:
 
A string is converted to upper case with <code>toUpperCase()</code>:
  
با استفاده از متد toUpperCase()  تمام حروف یک رشته متنی به حروف بزرگ تبدیل می شوند :
+
با استفاده از متد toUpperCase() تمام حروف یک رشته متنی به حروف بزرگ تبدیل می‌شوند:
  
 
=== Example ===
 
=== Example ===
var text1 = "Hello World!";       // String
+
var text1 = "Hello World!";       // String
  
var text2 = text1.toUpperCase();  // text2 is text1 converted to upper  
+
var text2 = text1.toUpperCase(); // text2 is text1 converted to upper
  
 
A string is converted to lower case with <code>toLowerCase()</code>:
 
A string is converted to lower case with <code>toLowerCase()</code>:
  
با استفاده از متد toLowerCase() تمامی حروف یک رشته متنی به حروف کوچک تبدیل می شوند :
+
با استفاده از متد toLowerCase() تمامی حروف یک رشته متنی به حروف کوچک تبدیل می‌شوند:
  
 
=== Example ===
 
=== Example ===
var text1 = "Hello World!";       // String
+
var text1 = "Hello World!";       // String
  
var text2 = text1.toLowerCase();  // text2 is text1 converted to lower  
+
var text2 = text1.toLowerCase(); // text2 is text1 converted to lower
  
 
== The concat() Method ==
 
== The concat() Method ==
سطر ۳۵۶: سطر ۳۵۵:
 
<code>concat()</code> joins two or more strings:
 
<code>concat()</code> joins two or more strings:
  
متد concat() دو و یا چند رشته متنی را به یک دیگر می چسباند :
+
متد concat() دو یا چند رشته متنی را به یک دیگر می‌چسباند:
  
 
=== Example ===
 
=== Example ===
سطر ۳۶۷: سطر ۳۶۶:
 
The <code>concat()</code> method can be used instead of the plus operator. These two lines do the same:
 
The <code>concat()</code> method can be used instead of the plus operator. These two lines do the same:
  
متد concat() می تواند به جای عملگر + استفاده شود .  دو خط زیر کد کار یکسانی را انجام می دهند :
+
متد concat() می‌تواند به جای عملگر + استفاده شود. دو خط زیر کد کار یکسانی را انجام می‌دهند:
  
 
=== Example ===
 
=== Example ===
 
var text = "Hello" + " " + "World!";
 
var text = "Hello" + " " + "World!";
  
var text = "Hello".concat(" ", "World!");  
+
var text = "Hello".concat(" ", "World!");
  
 
All string methods return a new string. They don't modify the original string.
 
All string methods return a new string. They don't modify the original string.
  
تمامی متد هایی که مربوط به رشته های متنی می شوند یک رشته متنی جدید را به عنوان خروجی برمی گردانند. آنها رشته متنی اصلی را تغییر نمی دهند .  
+
تمامی متدهایی که مربوط به رشته‌های متنی می‌شوند یک رشته متنی جدید را به عنوان خروجی برمی‌گردانند. آنها رشته متنی اصلی را تغییر نمی‌دهند.
  
 
Formally said: Strings are immutable: Strings cannot be changed, only replaced.
 
Formally said: Strings are immutable: Strings cannot be changed, only replaced.
  
اگر بخواهیم ساده بگوییم : رشته های متنی تغییر ناپذیر هستند : رشته های متنی نمی توانند تغییر کنند ، آنها تنها می توانند جا به جا شوند .  
+
اگر بخواهیم ساده بگوییم: رشته‌های متنی تغییرناپذیر هستند: رشته‌های متنی نمی‌توانند تغییر کنند، آنها تنها می‌توانند جابه‌جا شوند.
  
 
== String.trim() ==
 
== String.trim() ==
سطر ۳۸۷: سطر ۳۸۶:
 
The <code>trim()</code> method removes whitespace from both sides of a string:
 
The <code>trim()</code> method removes whitespace from both sides of a string:
  
متد trim() فضاهای خالی دو طرف یک رشته متنی را پاک می کند :
+
متد trim() فضاهای خالی دو طرف یک رشته متنی را پاک می‌کند:
  
 
=== Example ===
 
=== Example ===
var str = "       Hello World!        ";
+
var str = " Hello World! ";
  
alert(str.trim());  
+
alert(str.trim());
  
 
The <code>trim()</code> method is not supported in Internet Explorer 8 or lower.
 
The <code>trim()</code> method is not supported in Internet Explorer 8 or lower.
  
متد trim() در اینترنت اکسپلور ورژن هشت و پایینتر پشتیبانی نمی شود .
+
متد trim() در اینترنت اکسپلور ورژن هشت و پایینتر پشتیبانی نمی‌شود.
  
 
If you need to support IE 8, you can use <code>replace()</code> with a regular expression instead:
 
If you need to support IE 8, you can use <code>replace()</code> with a regular expression instead:
  
اگر شما نیاز دارید که کد شما حتما در مرورگر اینترنت اکسپلور ورژن هشت پشتیبانی شود ، شما می توانید از متد replace() به همراه یک عبارت با قاعده به جای متد trim() استفاده کنید .  
+
اگر شما نیاز دارید که کد شما حتما در مرورگر اینترنت اکسپلور ورژن هشت پشتیبانی شود، شما می‌توانید از متد replace() به همراه یک عبارت با قاعده به جای متد trim() استفاده کنید.
  
var str = "       Hello World!        ";
+
var str = " Hello World! ";
  
 
alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, <nowiki>''</nowiki>));
 
alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, <nowiki>''</nowiki>));
سطر ۴۰۸: سطر ۴۰۷:
 
You can also use the replace solution above to add a trim function to the JavaScript <code>String.prototype</code>:
 
You can also use the replace solution above to add a trim function to the JavaScript <code>String.prototype</code>:
  
شما همچنین می توانید از روش جا به جایی بالا برای اضافه کردن یک تابع Trim به String.prototype در جاوا اسکریپت استفاده کنید :
+
شما همچنین می‌توانید از روش جا به جایی بالا برای اضافه کردن یک تابع Trim به String.prototype در جاوا اسکریپت استفاده کنید:
  
 
=== Example ===
 
=== Example ===
 
if (!String.prototype.trim) {
 
if (!String.prototype.trim) {
  
 String.prototype.trim = function () {
+
String.prototype.trim = function () {
  
   return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, <nowiki>''</nowiki>);
+
  return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, <nowiki>''</nowiki>);
  
  };
+
};
  
 
}
 
}
  
var str = "       Hello World!        ";
+
var str = " Hello World! ";
  
alert(str.trim());  
+
alert(str.trim());
  
 
== Extracting String Characters ==
 
== Extracting String Characters ==
'''جدا سازی کاراکتر های یک رشته متنی'''  
+
'''جداسازی کاراکترهای یک رشته متنی'''
  
 
There are 3 methods for extracting string characters:
 
There are 3 methods for extracting string characters:
  
برای جدا سازی کاراکتر های یک رشته متنی سه متد در جاوا اسکریپت وجود دارد :
+
برای جداسازی کاراکترهای یک رشته متنی سه متد در جاوا اسکریپت وجود دارد:
 
 
 
* charAt(''position'')
 
* charAt(''position'')
 
* charCodeAt(''position'')
 
* charCodeAt(''position'')
سطر ۴۳۹: سطر ۴۳۷:
  
 
== The charAt() Method ==
 
== The charAt() Method ==
'''متد charAt()'''  
+
'''متد charAt()'''
  
 
The <code>charAt()</code> method returns the character at a specified index (position) in a string:
 
The <code>charAt()</code> method returns the character at a specified index (position) in a string:
  
متد charAt() یک کاراکتر را در یک اندیس (موقعیت به خصوص) در یک رشته متنی برمی گرداند :
+
متد charAt() یک کاراکتر را در یک اندیس (موقعیت به خصوص) در یک رشته متنی برمی‌گرداند:
  
 
=== Example ===
 
=== Example ===
 
var str = "HELLO WORLD";
 
var str = "HELLO WORLD";
  
str.charAt(0);           // returns H  
+
str.charAt(0);           // returns H
  
 
== The charCodeAt() Method ==
 
== The charCodeAt() Method ==
سطر ۴۵۵: سطر ۴۵۳:
 
The <code>charCodeAt()</code> method returns the unicode of the character at a specified index in a string:
 
The <code>charCodeAt()</code> method returns the unicode of the character at a specified index in a string:
  
متد charCodeAt() مقدار یونیکد یک کاراکتر به خصوص در یک موقعیت یا اندیس در یک رشته را برمی گرداند.
+
متد charCodeAt() مقدار یونیکد یک کاراکتر به خصوص در یک موقعیت یا اندیس در یک رشته را برمی‌گرداند.
  
 
The method returns a UTF-16 code (an integer between 0 and 65535).
 
The method returns a UTF-16 code (an integer between 0 and 65535).
  
این متد یک کد بر حسب utf-16 (عددی صحیح بین 0 و 65535) را برمیگرداند .
+
این متد یک کد بر حسب utf-16 (عددی صحیح بین ۰ و ۶۵۵۳۵) را برمی‌گرداند.
  
 
=== Example ===
 
=== Example ===
 
var str = "HELLO WORLD";
 
var str = "HELLO WORLD";
  
 
+
str.charCodeAt(0);         // returns 72
str.charCodeAt(0);         // returns 72  
 
  
 
== Property Access ==
 
== Property Access ==
سطر ۴۷۲: سطر ۴۶۹:
 
ECMAScript 5 (2009) allows property access [ ] on strings:
 
ECMAScript 5 (2009) allows property access [ ] on strings:
  
ECMAScript 5  که در سال 2009 منتشر شد ، اجازه استفاده از عملگر دسترسی یا access یا [] را برای متنها می دهد :
+
ECMAScript 5 که در سال ۲۰۰۹ منتشر شد، اجازه استفاده از عملگر دسترسی یا access یا [] را برای متنها می‌دهد:
  
 
=== Example ===
 
=== Example ===
 
var str = "HELLO WORLD";
 
var str = "HELLO WORLD";
  
str[0];                  // returns H  
+
str[0];                 // returns H
  
Property access might be a little '''unpredictable:'''  
+
Property access might be a little '''unpredictable:'''
  
نتیجه استفاده ازویژگی دسترسی یا Access کمی '''غیر قابل پیش بینی''' باشد :
+
نتیجه استفاده ازویژگی دسترسی یا Access کمی '''غیرقابل پیش بینی''' باشد:
  
·  It does not work in Internet Explorer 7 or earlier
+
· It does not work in Internet Explorer 7 or earlier
  
این ویژگی در مرورگر اینترنت اکسپلور ورژن هفت و یا ورژن های قدیمی تر کار نمی کند .
+
این ویژگی در مرورگر اینترنت اکسپلور ورژن هفت یا ورژن‌های قدیمی تر کار نمی‌کند.
  
 
It makes strings look like arrays (but they are not)
 
It makes strings look like arrays (but they are not)
  
استفاده از این روش باعث میشود که رشته های متنی به آرایه ها شبیه باشند (در حالی که شباهتی بین این دو وجود ندارد . )
+
استفاده از این روش باعث می‌شود که رشته‌های متنی به آرایه‌ها شبیه باشند (در حالی که شباهتی بین این دو وجود ندارد )
  
 
If no character is found, [ ] returns undefined, while charAt() returns an empty string.
 
If no character is found, [ ] returns undefined, while charAt() returns an empty string.
  
اگر کاراکتری یافت نشود ، ویژگی []  ویژگی undefined یا تعریف نشده را برمیگرداند در حالی که متد charAt() یک رشته متنی خالی باز میگرداند .  
+
اگر کاراکتری یافت نشود، ویژگی [] ویژگی undefined یا تعریف نشده را برمی‌گرداند در حالی که متد charAt() یک رشته متنی خالی بازمی‌گرداند.
  
·  It is read only. str[0] = "A" gives no error (but does not work!)
+
· It is read only. str[0] = "A" gives no error (but does not work!)
  
این قابلیت فقط خواندنی است . نوشتن دستور str[0]=”A” موجب بروز خطا نمی شود (اما کار نمی کند! )
+
این قابلیت فقط خواندنی است. نوشتن دستور str[0]=”A” موجب بروز خطا نمی‌شود (اما کار نمی‌کند!)
  
 
=== Example ===
 
=== Example ===
 
var str = "HELLO WORLD";
 
var str = "HELLO WORLD";
  
str[0] = "A";             '''// Gives no error, but does not work'''
+
str[0] = "A"; '''// Gives no error, but does not work'''
  
str[0];                  // returns H  
+
str[0];                 // returns H
  
 
If you want to work with a string as an array, you can convert it to an array.
 
If you want to work with a string as an array, you can convert it to an array.
  
اگر شما می خواهید که با یک رشته متنی همانند یک آرایه کار کنید ، شما می توانید آن را به یک آرایه تبدیل کنید .  
+
اگر شما می‌خواهید که با یک رشته متنی همانند یک آرایه کار کنید، شما می‌توانید آن را به یک آرایه تبدیل کنید.
  
 
== Converting a String to an Array ==
 
== Converting a String to an Array ==
سطر ۵۱۵: سطر ۵۱۲:
 
A string can be converted to an array with the <code>split()</code> method:
 
A string can be converted to an array with the <code>split()</code> method:
  
یک رشته متنی را می توان به وسیله ی متد split() به یک آرایه تبدیل کرد .  
+
یک رشته متنی را می‌توان به وسیلهٔ متد split() به یک آرایه تبدیل کرد.
  
 
If the separator is omitted, the returned array will contain the whole string in index [0].
 
If the separator is omitted, the returned array will contain the whole string in index [0].
  
اگر جدا کننده نوشته نشود ، آرایه بازگشتی کل رشته متنی را در اندیس ]0[ نگهداری خواهد کرد .  
+
اگر جدا کننده نوشته نشود، آرایه بازگشتی کل رشته متنی را در اندیس]۰[ نگهداری خواهد کرد .
  
 
If the separator is "", the returned array will be an array of single characters:
 
If the separator is "", the returned array will be an array of single characters:
سطر ۵۲۶: سطر ۵۲۳:
  
 
=== Example ===
 
=== Example ===
var txt = "Hello";       // String
+
var txt = "Hello";       // String
  
txt.split("");           // Split in characters  
+
txt.split("");           // Split in characters
  
 
== Complete String Reference ==
 
== Complete String Reference ==
مرجع کامل در مورد رشته های متنی یا String
+
مرجع کامل در مورد رشته‌های متنی یا String
  
 
For a complete reference, go to our Complete JavaScript String Reference.
 
For a complete reference, go to our Complete JavaScript String Reference.
  
برای اینکه لیست کاملی از رفرنس ها و مرجع ها برای رشته های متنی بدست بیاورید می توانید مرجع کامل رشته های متنی ما را مشاهده کنید .  
+
برای اینکه لیست کاملی از رفرنس‌ها و مرجع‌ها برای رشته‌های متنی بدست بیاورید می‌توانید مرجع کامل رشته‌های متنی ما را مشاهده کنید .
  
 
The reference contains descriptions and examples of all string properties and methods.
 
The reference contains descriptions and examples of all string properties and methods.
  
این مرجع شامل توضیحات و مثالهایی از تمامی ویژگی های رشته متنی و متد هاست .
+
این مرجع شامل توضیحات و مثالهایی از تمامی ویژگی‌های رشته متنی و متد هاست .

نسخهٔ ‏۹ آبان ۱۳۹۸، ساعت ۲۱:۵۰

JavaScript String Methods

متدهای نوع داده متنی یا رشته‌ای در جاوااسکریپت

String methods help you to work with strings.

متدهای کمکی برای نوع داده متنی یا رشته‌ایString به شما کمک می‌کند تا با این نوع از داده کار کنید.

String Methods and Properties

متدهای کمکی رشته‌ای یاString و ویژگی‌های کمکی

Primitive values, like "John Doe", cannot have properties or methods (because they are not objects).

مقادیر اصلی یا primitive همانند عبارت "John Doe"، نمی‌توانند ویژگی یا متد داشته باشند. (زیرا که آنها اشیا یا object نیستند )

But with JavaScript, methods and properties are also available to primitive values, because JavaScript treats primitive values as objects when executing methods and properties.

اما با زبان جاوا اسکریپت، متدها و ویژگی‌ها هم برای مقادیر اصلی یا primitive هم در دسترس هستند، زیرا جاوا اسکریپت زمانی که متدها و ویژگی‌ها را اجرا می‌کند با آنها همانند یک شی یاobject برخورد می‌کند.

String Length

طول یک رشته متنی یاString

The length property returns the length of a string:

ویژگی length طول یک رشته متنی یا String را برمی‌گرداند:

Example

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

var sln = txt.length;

Finding a String in a String

پیدا کردن یک رشته متنی درون یک رشته

The indexOf() method returns the index of (the position of) the first occurrence of a specified text in a string:

متد indexOf() اندیس (موقعیت) نقطه شروع یک متن به خصوص، را در یک رشته متنی یا String برمی‌گرداند:

Example

var str = "Please locate where 'locate' occurs!";

var pos = str.indexOf("locate");

JavaScript counts positions from zero.

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

0 is the first position in a string, 1 is the second, 2 is the third ...

عدد صفر نشان دهنده موقعیت اولین کاراکتر در یک رشته متنی است، عدد یک موقعیت دومین کاراکتر، عدد دو موقعیت سومین کاراکتر … را نشان می‌دهد.

The lastIndexOf() method returns the index of the last occurrence of a specified text in a string:

متد lastIndexOf() موقعیت آخرین کاراکتر یک رشته متنی را درون یک متن بازمی‌گرداند:

Example

var str = "Please locate where 'locate' occurs!";

var pos = str.lastIndexOf("locate");

Both indexOf(), and lastIndexOf() return -1 if the text is not found.

هر دو متد indexOf()، و lastIndexOf() در صورتی که متن مورد نظر در درون رشته مورد نظر وجود نداشته باشد مقدار ۱- را به عنوان خروجی برمی‌گردانند.

Example

var str = "Please locate where 'locate' occurs!";

var pos = str.lastIndexOf("John");

Both methods accept a second parameter as the starting position for the search:

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

Example

var str = "Please locate where 'locate' occurs!";

var pos = str.indexOf("locate", 15);

The lastIndexOf() methods searches backwards (from the end to the beginning), meaning: if the second parameter is 15, the search starts at position 15, and searches to the beginning of the string.

متد lastIndexOf() عمل جستجو را از انتهای رشته (از آخر به اول) انجام می‌دهد، این بدان معناست که: اگر مقدار پارامتر دوم متد عدد ۱۵ باشد، عمل جستجو از اندیس یا موقعیت ۱۵ شروع می‌شود و عمل جستجو تا به ابتدای رشته ادامه می‌یابد.

Example

var str = "Please locate where 'locate' occurs!";

var pos = str.lastIndexOf("locate", 15);

Searching for a String in a String

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

The search() method searches a string for a specified value and returns the position of the match:

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

Example

var str = "Please locate where 'locate' occurs!";

var pos = str.search("locate");

Did You Notice?

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

The two methods, indexOf() and search(), are equal?

دو متد، indexof() و search()، باهم برابر هستند؟

They accept the same arguments (parameters), and return the same value?

آنها آرگومانها (پارامترهای) یکسانی دارند، و مقدار یکسانی را به عنوان خروجی بازمی‌گردانند؟

The two methods are NOT equal. These are the differences:

اما این دو متد باهم برابر نیستند. در زیر تفاوت‌های این دو متد را می‌بینید:

· The search() method cannot take a second start position argument.

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

The indexOf() method cannot take powerful search values (regular expressions).

متد indexOf() نمی‌تواند مقادیر سخت (عبارات با قاعده) را در عبارت‌های رشته‌ای یا متنی جستجو کند.

You will learn more about regular expressions in a later chapter.

شما در مورد عبارات‌های با قاعده در فصل‌های آینده مطالب بیشتری را خواهید آموخت.

Extracting String Parts

جداسازی بخش‌های داده‌های متنی یا رشته‌ای string

There are 3 methods for extracting a part of a string:

سه متد برای جداسازی یک بخش از یک رشته متنی یا String وجود دارد:

  • slice(start, end)
  • substring(start, end)
  • substr(start, length)

The slice() Method

متد slice()

slice() extracts a part of a string and returns the extracted part in a new string.

متد slice() یک بخش از یک رشته متنی یا String را جدا می‌کند و بخش جدا شده را به عنوان یک رشته متنی یا String جدید برمی‌گرداند.

This example slices out a portion of a string from position 7 to position 12 (13-1):

این مثال، یک بخشی از رشته متنی را از اندیس شماره هفت تا اندیس شماره دوازده (۱–۱۳) را جدا می‌کند:

Example

var str = "Apple, Banana, Kiwi";

var res = str.slice(7, 13);

The result of res will be:

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

Banana

Remember: JavaScript counts positions from zero. First position is 0.

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

If a parameter is negative, the position is counted from the end of the string.

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

This example slices out a portion of a string from position -12 to position -6:

این مثال بخشی از رشته متنی را با اندیس ۱۲- تا ۶- را جدا می‌کند:

Example

var str = "Apple, Banana, Kiwi";

var res = str.slice(-12, -6);

If you omit the second parameter, the method will slice out the rest of the string:

اگر شما پارامتر دوم را ننویسید، متد رشته متنی را از میزان پارامتر اول به بعد را جدا خواهد کرد:

Example

var res = str.slice(7);

or, counting from the end:

یا، شمارش از اندیس آخر رشته صورت بگیرد:

Example

var res = str.slice(-12);

Negative positions do not work in Internet Explorer 8 and earlier.

اندیس‌های منفی در اینترنت اکسپلور ورژن ۸ و ورژن‌های قبلی کار نمی‌کنند.

The substring() Method

متد substring()

substring() is similar to slice().

متد substring() بسیار شبیه متد slice() است.

The difference is that substring() cannot accept negative indexes.

تفاوت این دو متد در این است که متد substring() نمی‌تواند اندیس‌های منفی را به عنوان پارامتر یا آرگومان قبول کند.

Example

var str = "Apple, Banana, Kiwi";

var res = str.substring(7, 13);

The result of res will be:

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

Banana

If you omit the second parameter, substring() will slice out the rest of the string.

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

The substr() Method

متد substr()

substr() is similar to slice().

متد substr() بسیار شبیه Slice() است.

The difference is that the second parameter specifies the length of the extracted part.

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

Example

var str = "Apple, Banana, Kiwi";

var res = str.substr(7, 6);

The result of res will be:

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

Banana

If you omit the second parameter, substr() will slice out the rest of the string.

اگر شما پارامتر دوم را در نظر نگیرید، متد substr() از اندیسی که پارامتر اول به آن اشاره می‌کند، شروع می‌کند و ما بقی رشته را نیز جدا می‌کند.

Example

var str = "Apple, Banana, Kiwi";

var res = str.substr(7);

The result of res will be:

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

Banana, Kiwi

If the first parameter is negative, the position counts from the end of the string.

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

Example

var str = "Apple, Banana, Kiwi";

var res = str.substr(-4);

The result of res will be:

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

Kiwi

Replacing String Content

جابه‌جا کردن محتوای رشته‌های متنی یا String

The replace() method replaces a specified value with another value in a string:

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

Example

str = "Please visit Microsoft!";

var n = str.replace("Microsoft", "W3Schools");

The replace() method does not change the string it is called on. It returns a new string.

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

By default, the replace() method replaces only the first match:

به صورت پیشفرض، متد replace() تنها اولین نتیجه برابر را جابه‌جا می‌کند:

Example

str = "Please visit Microsoft and Microsoft!";

var n = str.replace("Microsoft", "W3Schools");

By default, the replace() method is case sensitive. Writing MICROSOFT (with upper-case) will not work:

به صورت پیشفرض، متد replace() یک متد حساس به حروف کوچک یا بزرگ (case sensitive) است. نوشتن کلمه MICROSOFT (با حروف بزرگ) برای رشته متنی در مثال زیر کار نخواهد کرد:

Example

str = "Please visit Microsoft!";

var n = str.replace("MICROSOFT", "W3Schools");

To replace case insensitive, use a regular expression with an /i flag (insensitive):

برای اینکه هنگام جا به جای رشته‌ها حساسیت به حروف کوچک و بزرگ در نظر گرفته نشود، از یک عبارت با قاعده به وسیلهٔ /i (عدم حساسیت به حروف کوچک و بزرگ) می‌بایست استفاده کنید:

Example

str = "Please visit Microsoft!";

var n = str.replace(/MICROSOFT/i, "W3Schools");

Note that regular expressions are written without quotes.

نکته:توجه داشته باشید که عبارت‌های با قاعده بدون کوتیشن (′ یا ″) نوشته می‌شوند.

To replace all matches, use a regular expression with a /g flag (global match):

برای اینکه تمامی نتایج یکسان جابه‌جا شوند، از عبارت با قاعده با /g (که مخفف تمامی نتایج همسان یا global match) است استفاده کنید:

Example

str = "Please visit Microsoft and Microsoft!";

var n = str.replace(/Microsoft/g, "W3Schools");

You will learn a lot more about regular expressions in the chapter JavaScript Regular Expressions.

شما مطالب بیشتری را در مورد عبارت‌های با قاعده در فصل عبارت‌های با قاعده در جاوا اسکریپت خواهید آموخت.

Converting to Upper and Lower Case

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

A string is converted to upper case with toUpperCase():

با استفاده از متد toUpperCase() تمام حروف یک رشته متنی به حروف بزرگ تبدیل می‌شوند:

Example

var text1 = "Hello World!"; // String

var text2 = text1.toUpperCase(); // text2 is text1 converted to upper

A string is converted to lower case with toLowerCase():

با استفاده از متد toLowerCase() تمامی حروف یک رشته متنی به حروف کوچک تبدیل می‌شوند:

Example

var text1 = "Hello World!"; // String

var text2 = text1.toLowerCase(); // text2 is text1 converted to lower

The concat() Method

متد concat()

concat() joins two or more strings:

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

Example

var text1 = "Hello";

var text2 = "World";

var text3 = text1.concat(" ", text2);

The concat() method can be used instead of the plus operator. These two lines do the same:

متد concat() می‌تواند به جای عملگر + استفاده شود. دو خط زیر کد کار یکسانی را انجام می‌دهند:

Example

var text = "Hello" + " " + "World!";

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

All string methods return a new string. They don't modify the original string.

تمامی متدهایی که مربوط به رشته‌های متنی می‌شوند یک رشته متنی جدید را به عنوان خروجی برمی‌گردانند. آنها رشته متنی اصلی را تغییر نمی‌دهند.

Formally said: Strings are immutable: Strings cannot be changed, only replaced.

اگر بخواهیم ساده بگوییم: رشته‌های متنی تغییرناپذیر هستند: رشته‌های متنی نمی‌توانند تغییر کنند، آنها تنها می‌توانند جابه‌جا شوند.

String.trim()

متد trim()

The trim() method removes whitespace from both sides of a string:

متد trim() فضاهای خالی دو طرف یک رشته متنی را پاک می‌کند:

Example

var str = " Hello World! ";

alert(str.trim());

The trim() method is not supported in Internet Explorer 8 or lower.

متد trim() در اینترنت اکسپلور ورژن هشت و پایینتر پشتیبانی نمی‌شود.

If you need to support IE 8, you can use replace() with a regular expression instead:

اگر شما نیاز دارید که کد شما حتما در مرورگر اینترنت اکسپلور ورژن هشت پشتیبانی شود، شما می‌توانید از متد replace() به همراه یک عبارت با قاعده به جای متد trim() استفاده کنید.

var str = " Hello World! ";

alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));

You can also use the replace solution above to add a trim function to the JavaScript String.prototype:

شما همچنین می‌توانید از روش جا به جایی بالا برای اضافه کردن یک تابع Trim به String.prototype در جاوا اسکریپت استفاده کنید:

Example

if (!String.prototype.trim) {

String.prototype.trim = function () {

 return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};

}

var str = " Hello World! ";

alert(str.trim());

Extracting String Characters

جداسازی کاراکترهای یک رشته متنی

There are 3 methods for extracting string characters:

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

  • charAt(position)
  • charCodeAt(position)
  • Property access [ ]

ویژگی access[]

The charAt() Method

متد charAt()

The charAt() method returns the character at a specified index (position) in a string:

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

Example

var str = "HELLO WORLD";

str.charAt(0); // returns H

The charCodeAt() Method

متد charCodeAt()

The charCodeAt() method returns the unicode of the character at a specified index in a string:

متد charCodeAt() مقدار یونیکد یک کاراکتر به خصوص در یک موقعیت یا اندیس در یک رشته را برمی‌گرداند.

The method returns a UTF-16 code (an integer between 0 and 65535).

این متد یک کد بر حسب utf-16 (عددی صحیح بین ۰ و ۶۵۵۳۵) را برمی‌گرداند.

Example

var str = "HELLO WORLD";

str.charCodeAt(0); // returns 72

Property Access

ویژگی Access

ECMAScript 5 (2009) allows property access [ ] on strings:

ECMAScript 5 که در سال ۲۰۰۹ منتشر شد، اجازه استفاده از عملگر دسترسی یا access یا [] را برای متنها می‌دهد:

Example

var str = "HELLO WORLD";

str[0]; // returns H

Property access might be a little unpredictable:

نتیجه استفاده ازویژگی دسترسی یا Access کمی غیرقابل پیش بینی باشد:

· It does not work in Internet Explorer 7 or earlier

این ویژگی در مرورگر اینترنت اکسپلور ورژن هفت یا ورژن‌های قدیمی تر کار نمی‌کند.

It makes strings look like arrays (but they are not)

استفاده از این روش باعث می‌شود که رشته‌های متنی به آرایه‌ها شبیه باشند (در حالی که شباهتی بین این دو وجود ندارد )

If no character is found, [ ] returns undefined, while charAt() returns an empty string.

اگر کاراکتری یافت نشود، ویژگی [] ویژگی undefined یا تعریف نشده را برمی‌گرداند در حالی که متد charAt() یک رشته متنی خالی بازمی‌گرداند.

· It is read only. str[0] = "A" gives no error (but does not work!)

این قابلیت فقط خواندنی است. نوشتن دستور str[0]=”A” موجب بروز خطا نمی‌شود (اما کار نمی‌کند!)

Example

var str = "HELLO WORLD";

str[0] = "A"; // Gives no error, but does not work

str[0]; // returns H

If you want to work with a string as an array, you can convert it to an array.

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

Converting a String to an Array

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

A string can be converted to an array with the split() method:

یک رشته متنی را می‌توان به وسیلهٔ متد split() به یک آرایه تبدیل کرد.

If the separator is omitted, the returned array will contain the whole string in index [0].

اگر جدا کننده نوشته نشود، آرایه بازگشتی کل رشته متنی را در اندیس]۰[ نگهداری خواهد کرد .

If the separator is "", the returned array will be an array of single characters:

اگر جدا کننده " " باشد ، آرایه بازگشتی آرایه ای از تک کاراکترها خواهد بود :

Example

var txt = "Hello"; // String

txt.split(""); // Split in characters

Complete String Reference

مرجع کامل در مورد رشته‌های متنی یا String

For a complete reference, go to our Complete JavaScript String Reference.

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

The reference contains descriptions and examples of all string properties and methods.

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