
String ها با معنی فارسی "رشته" به شما اجازه کار با متن ها و هر چیزی مانند آنها را به شما می دهد. شما برای گذاشتن یک متن در صفحه با استفاده از جاوا اسکریپت می بایست از String ها کمک بگیرید.
رشته ها در واقع پایه و اساس یک ابزار در جاوا اسکریپت می باشند زیرا تا String ها وجود نداشته باشند هر چقدر که تغییرات اعمل شود نمی توان آن را در صفحه استفاده کرد.
String ها در جاوا اسکریپت
رشته ها در جاوا اسکریپت می بایست بین ' و " قرار بگیرند. توجه کنید که شما نمی توانید با ' شروع کنید و با " به اتمام برسانید.
به مثال زیر توجه کنید: (آزمایش)
Moisrex.innerHTML='oops!';
شما می توانید کد بالا را به این صورت نیز بنویسید: (آزمایش)
Moisrex.innerHTML="oops!";
جمع بستن در String
شما برای جمع کردن (اضافه کردن) یک رشته با یک رشته دیگه می بایست از + (علامت جمع) استفاده کنید.
به مثال زیر توجه کنید:
Moisrex.innerHTML='oo'+'ps!';
هم اکنون شما می توانید بفهمید که یک ابزار را چگونه کدنویسی می کنند: (آزمایش)
Moisrex.innerHTML='you write: <b>'+info.value+'<\/b> !!!';
اسپیس و اینتر های اضافی در کدهای جاوا اسکریپت (به غیر از String ها) عمل نمی کنند به همین دلیل شما می توانید کد بالا را برای راحتی کار خود به این صورت جدا از هم نیز بنویسید:
Moisrex.innerHTML=
'you write: <b>'+
info.value+
'<\/b> !!!';
در کد بالا هیچ تفاوتی با کد قبل مشاهده نخواهید کرد.
استفاده صحیح از + در کار با اعداد
در زمانی که شما می خواهید دو عدد را در جاوا اسکریپت با هم جمع کنید نیز می بایست از کاراکتر + استفاده کنید ، اما ممکن از بعضی مواقع با مشکل رو برو شوید.
منشا این مشکل این است که اگر شما یک رشته که عدد می باشد را می خواهید با یک عدد جمع ببندید. در این صورت مرورگر وقتی '1' را با 2 جمع ببندید نتیجه '12' خواهد در صورتی که شما می خواستید 1 و 2 با هم جمع شوند. برای مثال به کد زیر توجه کنید: (آزمایش)
moisrex.innerHTML='1'+2;
حال به این کد توجه کنید:(آزمایش)
moisrex.innerHTML=1+2;
در صورتی که شما بخواهید یک String که عدد می باشد را با یک عدد دیگر جمع کنید می بایست از تابع ParseInt استفاده کنید که نحوه استفاده از آن را در آموزش های بعدی توضیح خواهیم داد و در صورتی که می خواهید دو عدد را به صورت String ها با هم جمع ببندید می توانید از تابع String که در ادامه همین متن نوشته شده است استفاده کنید.
تابع String در جاوا اسکریپت
شما هر جا که می توانید از ' یا " (کوتیشن یا دابل کوتیشن) استفاده کنید می توانید از این تابع (function) استفاده کنید. برای مثال به طرز نوشتن کد قبل در زیر توجه کنید: (آزمایش)
moisrex.innerHTML=String('1')+2;
کد بالا را می توانید به صورت زیر هم بنویسید: (آزمایش)
moisrex.innerHTML=String(1)+2;
شما می توانید این تابع را مانند یک شیء (object) نیز استفاده کنید: (آزمایش)
moisrex.innerHTML=new String(1)+2;
کاراکتر های ویژه در String
شما برای نوشتن کاراکتر " یا ' درون String ها چه می کنید؟ آیا می توانید یک خط جدید را در رشته ها به کار ببرید؟ به همین دلایل هست که در جاوا اسکریپت کاراکتر های ویژه ای وجود دارند که شما می توانید در زیر آنها را ببینید:
کد | نتیجه | مثال |
---|---|---|
\' | کاراکتر ' (کوتیشن) | نمایش مثال |
\" | کاراکتر " (دابل کوتیشن) | نمایش مثال |
\\ | کاراکتر \ (بک اسلش) | نمایش مثال |
\n | خط جدید | نمایش مثال |
\r | تعویض سطر | نمایش مثال |
\t | فاصله بزرگ (tab) | نمایش مثال |
\b | بک اسپیس | شرمنده |
\f | پایان / شروع محدوده انتخاب متن (form feed) | نمایش مثال |
نوشتن خطوط جدید در String ها
شما در جاوا اسکریپت بدون هیچ مشکلی می توانید بین کلمات (بین دو کلمه نه بین دو حرف) به راحتی به خط جدید بروید و یا اسپیس های اضافی بذارید ولی این مشکل وجود دارد که در بین کلمات String ها (رشته ها) به هیچ وجه نمی توان به روش معمولی به خط جدید رفت. اما روش هایی برای این کار وجود دارد که می توان به دو روش زیر اشاره کرد:
روش اول: شما در این روش می توانید از + هایی که در قبل به شما یاد دادیم استفاده کنید. برای مثال به این کد توجه کنید: (آزمایش)
moisrex.innerHTML='new line'+
' in'+
' string';
روش دوم: شما در این روش با استفاده از بک اسلشی (\) که قبل از هر خط می گذارید می توانید این کار را انجام دهید: (آزمایش)
moisrex.innerHTML='new line \
in \
string';
الآن به خوبی می تونید یک ابزار ساده را با استفاده از جاوا اسکریپت بسازید بدون این که به ابزار دیگری نیاز داشته باشید. امید وارم همیشه من در خاطره های شما باقی بمونم.
با تشکر
با تشکر
به لینک زیر برید و به کد توش دقت کنید:
http://mrtools.in/page/HTML-Editor#
document.write("s s");
با تشکر
کپی برداری از مطالب این سایت حتی با درج لینک منبع نیز مجاز نمیباشد.
با تشکر
مرسی
یک سوال.من عبارت های منظم را کلا یادت گرفتم
میخوام قبل از عبارتی که
match
شده یچی بذارم
برای ساخت ابزار میخوام.خیلی ممنون
فعلا یکمی برای کسی که String رو یاد گرفته خیلی سنگینه که بخواد اونو یاد بگیره.
تازه من یاد دادم که چطور میشه یه متن رو نوشت ...
آموزش RegExp پست درازی خواهد بود (:دی)
اگر منظورت از match متد match هست که اون رشته رو به صورت یه Array در میاره. خیلی راحت می تونی مثل یه String ازش استفاده کنی البته کاربرد زیادی نداره match به غیر از این که مثلا بخوای ببینید چند تا کلمه moisrex توی یه رشته هست.
با تشکر
عالیه . چرا نوشتی شرمنده ؟
هر وقت فهمیدم ویرایش می کنم.
البته چیز های دیگه ای هم هست که میشه به اون جدول اضافه کرد که باید برای هر کدومشون متن های زیادی نوشته بشه به خاطر همین سعی می کنم وقتی که آموزش های جاوا اسکریپت به جاهای پیشرفته خودش رسید اون ها رو توضیح بدم.
اگر به اون جاها رسیدیم یادم بیارین اگر یادم رفت ...
با تشکر