<p> The length property returns the length of a string: </p>
<pid = "demo"></p>
<script>
vartxt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
varsln = txt.length;
document.getElementById("demo").innerHTML = sln;
</script>
</body>
</html>
خروجی:
پیدا کردن یک رشته داخل یک رشته
تابع شیء indexOf() ایندکس یا همان مکان اولین جایی که متن مشخص شده، در یک رشته روی میدهد را برمیگرداند:
<!DOCTYPEHTML>
<html>
<body>
<h2> JavaScript String Methods </h2>
<p> The indexOf() method returns the position of the first
occurrence of a specified text:
</p>
<pid = "demo"></p>
<script>
varstr = "Please locate where 'locate' occurs!";
varpos = str.indexOf("locate");
document.getElementById("demo").innerHTML = pos;
</script>
</body>
</html>
خروجی:
جاوا اسکریپت شمارش ایندکس یا مکان را از صفر شروع میکند. یعنی صفر اولین مکان در رشته، یک دومین مکان در رشته است و الی آخر ...
lastIndexOf() مکان آخرین جایی که متن مشخص شده، داخل یک رشته روی میدهد را برمیگرداند:
<!DOCTYPEHTML>
<html>
<body>
<h2> JavaScript String Methods </h2>
<p> The lastIndexOf() method returns the position of the last
occurrence of a specified text:
</p>
<pid = "demo"></p>
<script>
varstr = "Please locate where 'locate' occurs!";
varpos = str.lastIndexOf("locate");
document.getElementById("demo").innerHTML = pos;
</script>
</body>
</html>
خروجی:
هر دوی indexOf() و lastIndexOf() در صورتی که متن مشخص شده را پیدا نکنند مقدار 1- را برمیگردانند.
همچنین هر دوی آنها پارامتر دومی را به عنوان مکان آغاز جستجو قبول میکنند:
<!DOCTYPEHTML>
<html>
<body>
<h2> JavaScript String Methods </h2>
<p> The indexOf() method accepts a second parameter as the
starting position for the search:
</p>
<pid = "demo"></p>
<script>
varstr = "Please locate where 'locate' occurs!";
varpos = str.indexOf("locate",15);
document.getElementById("demo").innerHTML = pos;
</script>
</body>
</html>
خروجی:
به یاد داشته باشید که تابع شیء lastIndexOf() جستجو را برعکس (از آخر به اول) انجام میدهد، به این معنی که اگر پارامتر دوم را برای آن 15 قرار دهید، جستجو را از مکان 15 شروع کرده و به سمت آغاز رشته جستجو میکند.
جستجو برای یک رشته داخل یک رشته
تابع شیء search() یک رشته را برای یک مقدار مشخص شده جستجو میکند و مکان آن را بر میگرداند:
<!DOCTYPEHTML>
<html>
<body>
<h2> JavaScript String Methods </h2>
<p> The search() method returns the position of the first
occurrence of a specified text in a string:
</p>
<pid = "demo"></p>
<script>
varstr = "Please locate where 'locate' occurs!";
varpos = str.search("locate");
document.getElementById("demo").innerHTML = pos;
</script>
</body>
</html>
خروجی:
احتمالاً این سوال برایتان پیش آمده که تابع indexOf() و search() یکسان هستند؟ هر دو دارای پارامتر ورودی یکسان هستند و مقدار مشابهی را هم برمیگردانند؟
اما این دو تابع مشابه نیستند و دارای دو تفاوت اساسی میباشند:
تابع شیء search() نمیتواند پارامتر ورودی دوم که مکان آغاز جستجو را مشخص میکند داشته باشد.
تابع شیء indexOf() نمیتواند مقادیر regular expression را به عنوان ورودی دریافت کند.
با regular expression در فصلهای بعدی بیشتر آشنا خواهید شد.
تابع شیء ()match
در یک رشته به دنبال regular expression داده شده میگردد و مطابقتهای موجود را در یک آرایه را برمیگرداند.
<!DOCTYPEhtml>
<html>
<body>
<h2>JavaScript String Search</h2>
<p>Search a string for "ain":</p>
<pid="demo"></p>
<script>
lettext = "The rain in SPAIN stays mainly in the plain";
3 تابع شیء برای استخراج یک بخش از یک رشته وجود دارد:
slice(start, end)
substring(start, end)
substr(start, end)
The slice() Method
این تابع شیء 2 پارامتر ورودی دارد: مکان آغاز و مکان پایان (مکان پایان شامل نمیشود). قسمت استخراج شده از رشته به صورت یک رشته جدید ذخیره میشود. در مثال زیر قسمتی از رشته، از مکان 7 تا 12 استخراج میشود:
<!DOCTYPEHTML>
<html>
<body>
<h2> JavaScript String Methods </h2>
<p> The slice() method extract a part of a string and returns
the extracted parts in a new string:
</p>
<pid = "demo"></p>
<script>
varstr = "Apple, Banana, Kiwi";
varres = str.slice(7,13);
document.getElementById("demo").innerHTML = res;
</script>
</body>
</html>
خروجی:
اگر پارامتر ورودی منفی باشد، مکان از آخر رشته شمرده میشود:
<!DOCTYPEHTML>
<html>
<body>
<h2> JavaScript String Methods </h2>
<p> The slice() method extract a part of a string and returns
the extracted parts in a new string:
</p>
<pid = "demo"></p>
<script>
varstr = "Apple, Banana, Kiwi";
varres = str.slice(-12,-6);
document.getElementById("demo").innerHTML = res;
</script>
</body>
</html>
خروجی:
اگر پارامتر دوم را ننویسید، از مکان شروع تا آخر رشته استخراج میشود. کد زیر را در مثال بالا جایگزین و نتیجه را مشاهده کنید.
var res = str.slice(7);
اگر پارامتر ورودی منفی باشد، شمارش برعکس انجام میشود.
var res = str.slice(-12);
The substring() Method
مشابه تابع شیء slice() است با این تفاوت که مقادیر منفی را قبول نمیکند:
<!DOCTYPEHTML>
<html>
<body>
<h2> JavaScript String Methods </h2>
<p> The substring() method extract a part of a string and returns
the extracted parts in a new string:
</p>
<pid = "demo"></p>
<script>
varstr = "Apple, Banana, Kiwi";
varres = str.substring(7,13);
document.getElementById("demo").innerHTML = res;
</script>
</body>
</html>
خروجی:
The substr() Method
این تابع شیء هم مشابه slice() است با این تفاوت که پارامتر دوم طول قسمت استخراج شده را مشخص میکند:
<!DOCTYPEHTML>
<html>
<body>
<h2> JavaScript String Methods </h2>
<p> The substr() method extract a part of a string and returns
the extracted parts in a new string:
</p>
<pid = "demo"></p>
<script>
varstr = "Apple, Banana, Kiwi";
varres = str.substr(7,6);
document.getElementById("demo").innerHTML = res;
</script>
</body>
</html>
خروجی:
جایگزین کردن محتوای یک رشته
تابع شیء replace() مقدار مشخص شده را با مقدار دیگری در رشته جایگزین میکند:
<!DOCTYPEHTML>
<html>
<body>
<h2> JavaScript String Methods </h2>
<p> Replace "Apple" with "Microsoft" in the paragraph below:</p>
concat() را میتوان به جای عملگر جمع استفاده کرد. دو عبارت زیر معادل هم هستند:
var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ", "World!");
تمامی توابع رشته یک رشته جدید را برمیگرداند. آنها رشته اصلی را تغییر نمیدهند.
به عبارت دیگر: رشتهها غیرقابل تغییر (immutable) هستند. رشتهها تغییر نمیکنند، فقط جایگزین میشوند.
()String.trim
تابع شیء trim() فاصلههای خالی را از هر دو طرف رشته پاک میکند:
<!DOCTYPEHTML>
<html>
<body>
<h2> JavaScript String.trim() </h2>
<p> Click the button to alert the string with removed whitespace. </p>
<buttononclick="myFunction()"> Try it! </button>
<script>
functionmyFunction() {
varstr = " Hello World! ";
alert(str.trim());
}
</script>
</body>
</html>
خروجی: روی دکمه زیر کلیک کنید.
JavaScript String.trim()
Click the button to alert the string with removed whitespace.
استخراج کاراکترها از رشته
با استفاده از 3 روش میتوان کاراکترهای یک رشته را استخراج کرد:
charAt(position)
charCodeAt(position)
Property access[]
The charAt() Method
تابع شیء charAt() کاراکتر را در مکان مشخص شده از یک رشته برمیگرداند:
<!DOCTYPEHTML>
<html>
<body>
<h2> JavaScript String Methods </h2>
<p> The charAt() method returns the character at a given position in a string: </p>