شیء string، برای ذخیره و دستکاری متن استفاده می شود.
رشته ها (String) در JavaScript
در متغیرها یا اشیاء رشته ای، می توان یک سری از کاراکترها مانند "beyamooz" را ذخیره نمود.
زمانی که یک مقدار رشته ای را به یک متغیر انتساب می دهید، باید آنرا در کوتیشن یا دابل کوتیشن (' یا ") قرار دهید.
مثال (رشته ها در JavaScript)
var carname='Volvo XC60';
می توانید از علامت کوتیشن (') داخل رشته استفاده کنید، البته تا زمانی که با علامتی که رشته را احاطه کرده، تطابق نداشته باشد:
مثال (رشته ها در JavaScript)
var answer="He is called 'Johnny'";
var answer='He is called "Johnny"';
راه حل مشکل بالا (تطابق کوتیشن های داخل رشته با احاطه کننده رشته)، استفاده از علامت (\) قبل از کوتیشن های داخل رشته است: (برای توضیح بیشتر، به انتهای این مقاله مراجعه نمایید)
مثال (رشته ها در JavaScript)
var answer="He is called \"Johnny\"";
می توانید به هر کدام از کاراکترهای یک رشته، از طریق مکانش (index)، دسترسی داشته باشید:
مثال (رشته ها در JavaScript)
توجه: ایندکس رشته از صفر شروع می شود، یعنی اولین کاراکتر [0] است، دومین کاراکتر [1] و ...
طول رشته (String length)
برای فهمیدن طول یک رشته، می توان از خصوصیت length، استفاده نمود:
مثال (رشته ها در JavaScript)
document.write(txt.length);
var txt="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
document.write(txt.length);
پیدا کردن یک رشته داخل رشته ای دیگر
در مثال زیر، متد ()indexOf، اولین مکان رخداد رشته "welcome" را در شیء str، برمی گرداند:
مثال (رشته ها در JavaScript)
var n=str.indexOf("welcome");
توجه: اگر رشته مشخص شده پیدا نشد، عدد 1- برمی گردد.
متد ()lastIndexOf، بجای اینکه جستجو را از ابتدای رشته شروع کند از آخر رشته شروع می کند.
تطبیق یک رشته در محتوای رشته ای دیگر
در مثال زیر، اگر پارامتر ورودی متد ()match، در شیء str یافت شد، مقدار یافت شده را برمی گرداند وگرنه مقدار null را برمی گرداند:
مثال (رشته ها در JavaScript)
document.write(str.match("world") + "<br>");
document.write(str.match("World") + "<br>");
document.write(str.match("world!"));
جایگزینی در محتوای یک رشته
در مثال زیر، متد ()replace، مقدار پارامتر "Microsoft" را در شیء str جستجو می کند و تمام آنها را با مقدار "Beyamooz.com" جایگزین می کند:
مثال (رشته ها در JavaScript)
var n=str.replace("Microsoft","Beyamooz.com");
حروف بزرگ (Upper Case) و حروف کوچک (Lower Case)
در مثال زیر، متد ()toUpperCase کاراکترهای شیء txt را به حروف بزرگ و متد ()toLowerCase به حروف کوچک تبدیل می کند:
مثال (رشته ها در JavaScript)
var txt1=txt.toUpperCase(); // txt1 is txt converted to upper
var txt2=txt.toLowerCase(); // txt2 is txt converted to lower
تبدیل رشته به یک آرایه
در مثال زیر، با استفاده از متد ()split شیء txt را براساس کارکتر "," جدا کرده و به ترتیب در یک آرایه قرار می دهد:
مثال (رشته ها در JavaScript)
txt.split(","); // Split on commas
استفاده از کارکترهای خاص در یک رشته
علامت (\) برای وارد کردن کاراکترهای خاص مانند: (")، (') و یا رفتن به خط جدید در یک رشته، استفاده می شود.
مثال:
document.write(txt);
در JavaScript، یک رشته با علامت " یا ' احاطه می شود. بنابراین رشته بالا شکسته خواهد شد: We are the so-called
راه حل این مشکل، استفاده از (\) قبل از دابل کوتیشن های داخل رشته است:
document.write(txt);
خروجی به صورت روبرو خواهد بود: We are the so-called "Vikings" from the north
در جدول زیر، لیستی از دیگر کاراکترهایی که می تواند با (\) داخل متن استفاده شود، آورده شده است:
کد | خروجی |
---|---|
\' | single quote |
\" | double quote |
\\ | backslash |
\n | new line |
\r | carriage return (رفتن سر خط) |
\t | tab |
\b | backspace |
\f | form feed |
متدها (Method) و خصوصیات (Property) مربوط به رشته ها
متد | توضیحات |
---|---|
constructor | از این خصوصیت در JavaScript، برای برگرداندن تابع سازنده ی رشته استفاده می شود. |
length | از این خصوصیت در JavaScript، برای برگرداندن طول (length) یک رشته استفاده می شود. |
prototype | از این خصوصیت در JavaScript، برای اضافه کردن خصوصیت یا متد به یک شیء استفاده می شود. |
کلیه متدهای مربوط به رشته ها در JavaScript
متد | توضیحات |
---|---|
charAt() | از این متد در Javascript برای برگرداندن یک کاراکتر که در یک اندیس مشخص قرار دارد، استفاده می شود. |
charCodeAt() | از این متد در Javascript، برای برگرداندن یونیکد یک کاراکتر، که در یک اندیس مشخص قرار دارد، استفاده می شود. |
concat() | از این متد در Javascript، برای الحاق دو یا چند رشته و برگرداندن رشته تولید شده، استفاده می شود. |
fromCharCode() | از این متد در Javascript، برای تبدیل اعداد یونیکد به کاراکتر، استفاده می شود. |
indexOf() | از این متد در Javascript، برای برگرداندن یک اندیس استفاده می شود و این اندیس، اندیسِ اولین تطابقِ یک مقدار در یک رشته است. |
lastIndexOf() | از این متد در Javascript، برای برگرداندن یک اندیس استفاده می شود و این اندیس، اندیسِ آخرین تطابق یک مقدار در یک رشته است . |
localeCompare() | از این متد در Javascript، برای مقایسه ی دو رشته استفاده می شود.مقایسه ی دو رشته در مورد محل قرارگیری آنها در مرتب شدن است. |
match() | از این متد در Javascript، برای برگرداندن تطابق یک رشته با یک عبارت منظم استفاده می شود . |
replace() | یک رشته را برای یک مقدار مشخص یا یک عبارت منظم جستجو کرده و مقادیر مشخص شده را جایگزین آن می کند و یک رشته جدید را برمی گرداند از این متد در Javascript، برای جستجو کردن یک مقدار مشخص در یک رشته و جایگزین کردن مقادیر مشخص شده در آن رشته و برگرداندن رشته جدید، استفاده می شود. |
search() | از این متد در Javascript، برای جستجو کردن یک مقدار مشخص در یک رشته و برگرداندن اندیس تطابق، استفاده می شود. |
slice() | از این متد در Javascript، برای جدا کردن یک قسمت از یک رشته و برگرداندن رشته ی جدید، استفاده می شود. |
split() | از این متد در Javascript، برای تجزیه کردن یک رشته و قرار دادن آنها در عناصر یک آرایه، استفاده می شود. |
substr() | از این متد در Javascript، برای جدا کردن تعداد مشخصی کاراکتر از یک رشته استفاده می شود. |
substring() | از این متد در Javascript، برای جدا کردن کاراکترهای بین دو اندیس در یک رشته، استفاده می شود. |
toLocaleLowerCase() | از این متد در Javascript، برای تبدیل حروف یک رشته به حروف کوچک، طبق مکان هاست، استفاده می شود. |
toLocaleUpperCase() | از این متد در Javascript، برای تبدیل حروف یک رشته به حروف بزرگ،طبق مکان هاست، استفاده می شود. |
toLowerCase() | از این متد در Javascript، برای تبدیل حروف یک رشته، به حروف کوچک، استفاده می شود. |
toString() | از این متد در Javascript، برای برگرداندن مقدار یک شیء، استفاده می شود. |
toUpperCase() | از این متد در Javascript، برای تبدیل حروف یک رشته، به حروف بزرگ، استفاده می شود. |
trim() | از این متد در Javascript، برای حذف کردن فاصله ها از اول و آخر یک رشته، استفاده می شود. |
valueOf() | از این متد در Javascript، برای برگرداندن مقدار اولیه ی یک شیء، استفاده می شود. |
این متد فقط یک کارکتر رو با کارکتر جایگزین جابجا میکنه حالا چطور میشه من بطور مثال تگ اغاز و پایان P رو بدم و بیاد هرجا تگ اغاز شد بدون در نظر گردن محتویاتش کلش رو جایگزین کنه که مجبور نباشم هزاران احتمال رو دونه دونه بهش بدم. ممنون میشم راهنماییم کنید که ایا شدنیه با این متد یانه مرسی و خدا نگه دار
برای کسب اطلاعات بیشتر در مورد عبارات منظم به لینک زیر مراجعه فرمایید:
beyamooz.com/javascript/128-object/404-%D8%B9%D8%A8%D8%A7%D8%B1%D8%A7%D8%AA-%D9%85%D9%86%D8%B8%D9%85-%D8%AF%D8%B1-javascript
عزیز من سر زدم مطالعه هم کردم لینکهای راهنما رو هم دیدم اما متاسفانه بخاطر اشنایی نداشتن متوجه نشدم دقیق
میشه بصورت عینی و عملی یک نمونه برام اصلاح کنید.
[dir=#555]<!DOCTYPE html>
<html>
<body id="demo">
<p>Click the button to replace "Microsoft" with "Beyamooz.com"</p>
<p>Please visit Microsoft! </p>
<p>Please visit MicroSoft! </p>
<p>Please visit microsoft! </p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction()
{
var str=document.getElementById("demo").innerHTML;
var n=str.replace(/(Microsoft)/gi,"Beyamooz.com");
document.getElementById("demo").innerHTML=n;
}
</script>
</body>
</html>[/dir]
در هر صورت مرسی که وقت گذاشتید ممنون و خدا نگه دار
[dir=#555]var n=str.replace(/<p>.*<\/p>/gi,"Beyamooz.com");[/dir]
با کلیک روی لینک زیر، مثال خودتان امتحان کنید، مربوطه را مشاهده نمایید:
beyamooz.com/try_it_yourself/tryit.php?filename=tryjs_replace_All_P_with_beyamooz
قطعا با عبارت منظم آشنا هستید، در زیر مفهوم برخی از علائم عبارات منظم آورده شده است:
^ : نشانه شروع می باشد. به طور مثال دستور bcd^ به معنی هر عبارتی است که با bcd شروع شود.
$ : نشانه پایان می باشد. به طور مثال دستور $bcd به معنی هر عبارتی است که در انتها به bcd ختم شود.
+ : نشانه تکرار است و اگر پشت عبارتی قرار بگیرید باید حداقل یکبار تکرار شود.
* : همانند + می باشد با این تفاوت که آن عبارت می تواند تکراری نداشته باشد.
? : اگر پشت عبارتی قرار بگیرد یعنی اینکه آن عبارت باید صفر یا یک بار تکرار شود.
() : برای قسمت بندی عبارات به زیر عبارات و اولویت بندی نیز می باشد.
[] : لیستی از کاراکترها که می خواهیم تطبیق دهیم در این دو کروشه قرار می گیرد.
[ ^] : لیستی از کاراکترهائی که نمی خواهیم تطبیق داده شوند از این عبارت استفاده می کنیم.
d\ : نشانه ارقام می باشد یعنی وقتی این عبارت بیاید منظور یکی از ارقام است.
D\ : نشانه هر کاراکتری غیر از رقم می باشد.
w\ : نشانه حرف یا عدد می باشد و کاراکترهای خاص نیست و معادل [a-zA-Z_0-9] است.
W\ : نشانه کاراکترهای خاص می باشد و عدد یا حروف یا space نیست.
s\ : نشانه کاراکتر space می باشد.
S\ : نشان هر کاراکتری غیر از space می باشد.
{} : مشخص کننده تعداد تکرارا می باشد و اگر داخل آن یک عدد نوشته شود یعنی اینکه عبارت قبل از آن دقیقا باید به تعداد آن عدد تکرارا شود ولی اگر دو عدد نوشته شود عبارت قبل از آن باید تکراری بین آن دو عدد باشد.
| : بمعنی یا است. بعنوان مثال a|b یعنی یا a یا b
- : بمعنی تا است. بعنوان مثال a-z یعنی از a تا z
. : می تواند هر کاراکتری باشد.
دقیقا همین رو نیاز داشتم که گذاشتید . واقعا یدنیا ممنون ازتون که با صبوری وقت گذاشتید و مشکلم رو حل کردید .
نمیدونم چطور ازتون تشکر کنم .
اکثر سایتها فقط کپی میکنن و خودشون اطلاعات خاصی ندارند معمولا اما شما با پاسخ کامل و وقتی که گذاشتید هم دانش هم لطفتون رو نشون دادید . یدنیا تشکر و سپاس . و آرزوی موفقیت همیشگی .
برای اطلاع بیشتر در این زمینه به آموزش " کلیه متدهای شیء String " از طریق لینک زیر مراجعه کنید :
www.beyamooz.com/jsref/342-javascript/2612-%DA%A9%D9%84%DB%8C%D9%87-%D9%85%D8%AA%D8%AF%D9%87%D8%A7%DB%8C-%D8%B4%DB%8C%D8%A1-string-%D8%AF%D8%B1-javascript
با نحوه استفاده از این متدها چطوری اشنا بشیم ؟
ایا در سرفصل های بعد برای انها مثال میاورید ؟
ممنون
beyamooz.com/jsref/342-javascript/2612-%DA%A9%D9%84%DB%8C%D9%87-%D9%85%D8%AA%D8%AF%D9%87%D8%A7%DB%8C-%D8%B4%DB%8C%D8%A1-string-%D8%AF%D8%B1-javascript
چرا در بعضی از کد ها باید متن ها را به رشته تبدیل کرد حتی اعداد هم به رشته تبدیل می کنند
ببینید برای اینکه بخواهیم به رایانه بفهمانیم که یک تعداد کاراکتر مشخص، رشته هستند اونا رو بین دبل کوتیشن و یا سینگل کوتیشن قرار می دهیم . مثلا اگر یک عددی را به صورت رشته معرفی کنیم دیگر یک رشته محسوب می شود و عدد نیست، یعنی قابلیت و خواص اعداد را از دست می دهد. به عبارت دیگر جمع و تفریق و ... را نمی توان روی آن انجام داد. دلیل اینکه متن رو به رشته تبدیل می کنند اینه که با متغیر اشتباه نشه. مثلا عبارت text یک متغیر محسوب می شود ولی عبارت "text" یک رشته محسوب می شود.
به خاطر ایجاد این سایت آموزشی ازتون ممنونم
ولی چرا انقد متدهای string ناقصه؟