التعامل مع النصوص
مفهوم النصوص في جافاسكربت
النص عبارة عن سلسلة من الأحرف ليس لها حجم محدد فقد يتألف من حرف واحد، كلمة، جملة أو فقرة كبيرة جداً.
في جافاسكربت النص يندرج تحت النوع
في هذا الدرس ستتعرف على جميع الطرق التي يمكنك من خلالها تعريف نص، بالإضافة إلى الدوال الجاهزة التي يمكنك استخدامها للتعديل على النصوص، البحث فيها و تقطيعها.
طريقة تعريف نص في جافاسكربت
في جافاسكربت يمكنك تعريف النص بواسطة الرمز
المثال الأول
<!DOCTYPE html>
<html>
<body>
<script>
let str1 = 'Text inside single quotes';
let str2 = "Text inside double quotes";
document.write('str1 = ' + str1 + '<br>');
document.write('str2 = ' + str2);
</script>
</body>
</html>
في حال تم تعريف النص بواسطة الرمز
المثال الثاني
<!DOCTYPE html>
<html>
<body>
<script>
let str1 = 'She said "Hey"';
let str2 = "Don't eat sugar";
document.write('str1 = ' + str1 + '<br>');
document.write('str2 = ' + str2);
</script>
</body>
</html>
في حال أردت استخدام الرمز نفسه الذي تم بواسطته تعريف النص بداخله فيجب أن تضع قبله
المثال الثالث
<!DOCTYPE html>
<html>
<body>
<script>
let str1 = "She said \"Hey\"";
let str2 = 'Don\'t eat sugar';
document.write('str1 = ' + str1 + '<br>');
document.write('str2 = ' + str2);
</script>
</body>
</html>
في حال أردت استخدام الرمز
المثال الرابع
<!DOCTYPE html>
<html>
<body>
<script>
let str = "Here, backslash is used as \\Normal Charater\\";
document.write(str);
</script>
</body>
</html>
طريقة تعريف قالب نصي في جافاسكربت
القالب النصّي ( String Template ) هو نص يتم تعريفه بواسطة الرمز
أسلوب القالب النصّي أضيف في جافاسكربت ابتداءاً من الإصدار ES6.
في المثال التالي قمنا بحجز مكان للمتغيرات التي نريد دمجها مع النص.
المثال الأول
<!DOCTYPE html>
<html>
<body>
<script>
let username = "Ahmed";
let totalMessages = 10;
let text = `Good morning ${username}, you have ${totalMessages} messages.`;
document.write(text);
</script>
</body>
</html>
النص الموضوع بداخل
المثال الثاني
<!DOCTYPE html>
<html>
<body>
<script>
let str =
`Multiline text
defined using
back-ticks`;
document.write(str);
</script>
</body>
</html>
في حال كان النص معرّف بواسطة الرمزين
مصطلحات مهمة حول التعامل مع النصوص
- عدد أحرف النص يسمى Length.
- رقم أي خانة في النص يسمى Index.
- إذا قمنا بأخذ جزء من النص فهذا الجزء يسمى Substring.
الآن، لنفترض أنه لدينا متغير إسمه
let str = "welcome to codafox.blogspot.com";
شكل النص في الذاكرة
مفسّر جافاسكربت يقوم بتخزين محتوى النص في الذاكرة حرفاً حرفاً و بالترتيب و يبدأ بترقيمهم من الرقم 0 كما يلي.
يمكنك الإستفادة من أرقام الخانات حتى تصل للجزء الذي تريده من النص بالإعتماد على الدوال التي توفرها جافاسكربت كما يلي.
يمكنك إستغلال إجمالي عدد الأحرف في حال أردت المرور على جميع أحرف النص بواسطة حلقة. و يمكنك الإستفادة من أرقام الخانات في حال أردت البحث في النص، أخذ جزء منه أو التعديل عليه.
في المثال التالي قمنا بطباعة عدد الأحرف الموجودة في النص بواسطة الخاصية
مثال
<!DOCTYPE html>
<html>
<body>
<script>
let str = 'Welcome to codafox.blogspot.com';
// str ترجع عدد الأحرف الموجودة في النص length الخاصية
document.write('Total characters = ' + str.length);
</script>
</body>
</html>
دوال النصوص في جافاسكربت
سنقسم دوال النصوص إلى 5 فئات أساسية بناءاً على وظائفها كما يلي:
- دوال للبحث ( Searching ).
- دوال للتجزيء ( Substring ).
- دوال للتبديل ( Replacing ).
- دوال للمقارنة ( Comparison ).
- دوال للمعالجة ( Manipulation ).
النوع
دوال البحث في النصوص
إسم الدالة مع تعريفها | |
---|---|
1 | |
2 | |
3 | في حال لم تجد ما تبحث عنه في النص الذي قام باستدعائها فإنها ترجع القيمة |
4 | في حال لم تجد ما تبحث عنه في النص الذي قام باستدعائها فإنها ترجع القيمة |
5 | في حال لم تجد ما تبحث عنه في النص الذي قام باستدعائها فإنها ترجع القيمة |
6 | ترجع و ترجع |
7 |
دوال تجزيء النصوص
إسم الدالة مع تعريفها | |
---|---|
1 | مكان الباراميتر |
2 | مكان الباراميتر |
3 | مكان الباراميتر |
دوال التبديل في النصوص
إسم الدالة مع تعريفها | |
---|---|
1 | مكان الباراميتر مكان الباراميتر ملاحظة: إذا كان النص الأول عبارة عن نص عادي فإنه سيتم تبديل أول جزئية فقط في النص تتطابق معه. |
2 | مكان الباراميتر مكان الباراميتر |
دوال المقارنة النصوص
إسم الدالة مع تعريفها | |
---|---|
1 | إذا كانت قيمة الباراميتر |
2 | إذا كانت قيمة الباراميتر |
3 | تقارن قيمة النص الذي قام باستدعائها مع التعبير النمطي الذي نمرره لها مكان الباراميتر ترجع |
4 | مكان الباراميتر |
دوال معالجة النصوص
إسم الدالة مع تعريفها | |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | مكان الباراميتر |
8 | مكان الباراميتر |
حروف الهروب في جافاسكربت
حروف الهروب (Escape Charaters) هي حروب تضاف ضمن النص لجعل مفسّر جافاسكربت يعاملها معاملة خاصة.
أي حرف من حروف الهروب نبدؤه بالرمز
في بداية الدرس سبق و استخدمنا حروف الهروب
الحرف | معناه |
---|---|
يستخدم هذا الحرف للنزول على سطر جديد. | |
يستخدم هذا الحرف لحذف الحرف التالي الذي يأتي بعده. | |
يستخدم هذا الحرف للعودة إلى أول السطر كما في آلات الطباعة القديمة. | |
يستخدم هذا الحرف لإضافة عدة مسافات فارغة أفقياً حتى يظهر النص كجدول إذا كان هناك نص آخر بجانبه. | |
يستخدم هذا الحرف لإضافة عدة مسافات فارغة عمودياً حتى يظهر النص كجدول إذا كان هناك نص آخر تحته. |
حروف الهروب ليس لها أهمية كبيرة في صفحات الويب لأن المتصفح يضبط النص بطريقة مناسبة أكثر و يتجاهلها.