test الدوال النصية -2- String Methods

دالة charCodeAt() تُستخدم للحصول على القيمة الرقمية (Unicode) للحرف الموجود في موقع معين داخل النص. هذه القيمة تعبر عن الرمز الرقمي للحرف في ترميز Unicode.

الصيغة العامة:

string.charCodeAt(index);

string: النص الذي نريد استخراج الرمز الرقمي منه

.index: موضع الحرف داخل النص (يبدأ من 0).

ترجع الدالة رقمًا صحيحًا يمثل كود الحرف في Unicode.

كيفية عمل charCodeAt()

  1. تأخذ فهرس الحرف (index) داخل النص.
  2. تُعيد الكود الرقمي لهذا الحرف وفق ترميز Unicode.
  3. إذا كان الفهرس خارج نطاق النص، تُعيد NaN.

أمثلة على charCodeAt()

المثال الأول: استخراج الكود الرقمي لحرف معين

let text = "JavaScript";
console.log(text.charCodeAt(0)); // النتيجة: 74
console.log(text.charCodeAt(4)); // النتيجة: 83

التفسير:

  • charCodeAt(0) يُعيد 74 وهو الكود الرقمي للحرف 'J'.
  • charCodeAt(4) يُعيد 83 وهو الكود الرقمي للحرف 'S'.

المثال الثاني: استخراج كود الحرف الأخير

let text = "Hello";
console.log(text.charCodeAt(text.length - 1)); // النتيجة: 111
JavaScript

التفسير:

  • text.length - 1 يعطي الفهرس الأخير (4 لأن النص طوله 5).
  • charCodeAt(4) يُعيد 111 وهو الكود الرقمي للحرف 'o'.

المثال الثالث: استخدام charCodeAt() مع حلقة for

let text = "ABC";
for (let i = 0; i < text.length; i++) {
  console.log(`الحرف: ${text[i]} - الكود: ${text.charCodeAt(i)}`);
}

//الناتج
الحرف: A - الكود: 65
الحرف: B - الكود: 66
الحرف: C - الكود: 67
JavaScript

التفسير: الحلقة تتنقل عبر كل حرف وتعرض الكود الرقمي له.

المثال الرابع: التعامل مع فهرس غير موجود

let text = "Hi";
console.log(text.charCodeAt(10)); // النتيجة: NaN
JavaScript

التفسير:
لا يوجد حرف في الفهرس 10، لذا تُعيد الدالة NaN.

استخدام charCodeAt() في التشفير والتحقق

المثال: التحقق مما إذا كان الحرف حرفًا كبيرًا أو صغيرًا

let char = "A";
if (char.charCodeAt(0) >= 65 && char.charCodeAt(0) <= 90) {
  console.log("الحرف كبير (Uppercase)");
} else if (char.charCodeAt(0) >= 97 && char.charCodeAt(0) <= 122) {
  console.log("الحرف صغير (Lowercase)");
}
JavaScript

التفسير:

  • الأحرف الكبيرة A-Z لها أكواد بين 65-90.
  • الأحرف الصغيرة a-z لها أكواد بين 97-122.

ملخص

charCodeAt() تُعيد الكود الرقمي للحرف في Unicode.
✅ تستخدم الفهرس (index) لتحديد الحرف المطلوب.
✅ تُعيد NaN إذا كان الفهرس خارج حدود النص.
✅ مفيدة في التشفير، الفحص، ومعالجة النصوص.

🚀 charCodeAt() مهمة جدًا عند التعامل مع الحروف في JavaScript!

——————————————————-

شرح دالة indexOf() في JavaScript

دالة indexOf() تُستخدم للعثور على موضع أول ظهور لقيمة معينة داخل النص. إذا لم يتم العثور على القيمة، فإنها تُعيد -1.

الصيغة العامة:

string.indexOf(value, startIndex)
JavaScript

string: النص الذي نبحث فيه.

value(مطلوب): النص أو الحرف الذي نبحث عنه.

startIndex(اختياري، الافتراضي 0): بداية البحث داخل النص.

ترجع الدالة رقم الفهرس (أي موضع أول ظهور للكلمة أو الحرف)، وإذا لم يتم العثور عليها تُعيد -1.

أمثلة على indexOf()

المثال الأول: البحث عن كلمة داخل نص

let text = "JavaScript is great";
console.log(text.indexOf("JavaScript")); // النتيجة: 0
console.log(text.indexOf("great"));      // النتيجة: 15
console.log(text.indexOf("hello"));      // النتيجة: -1
JavaScript

التفسير:

“JavaScript” تبدأ من الفهرس 0 ✅.

“great” تبدأ من الفهرس 15 🌟.

“hello” غير موجودة، لذا النتيجة -1 ❌.

المثال الثاني: استخدام startIndex لتحديد نقطة البداية

let text = "JavaScript is great. JavaScript is powerful.";
console.log(text.indexOf("JavaScript", 10)); // النتيجة: 22
JavaScript

التفسير:

  • البحث بدأ من الفهرس 10، لذا تم العثور على "JavaScript" الثانية عند الفهرس 22.

المثال الثالث: البحث عن حرف معين داخل النص

let text = "Hello World!";
console.log(text.indexOf("o"));  // النتيجة: 4
console.log(text.indexOf("o", 5)); // النتيجة: 7
JavaScript

التفسير:

  • أول "o" في الفهرس 4.
  • عند البحث بعد الفهرس 5، يتم العثور على "o" الثانية عند الفهرس 7.

المثال الرابع: البحث عن كلمة غير موجودة

let text = "Cloud Soft Academy";
console.log(text.indexOf("Code")); // النتيجة: -1
JavaScript

التفسير:
"Code" غير موجودة، لذا تُعيد الدالة -1.

استخدام indexOf() مع if للتحقق من وجود نص

let message = "Welcome to JavaScript!";
if (message.indexOf("JavaScript") !== -1) {
  console.log("الكلمة موجودة في النص!");
} else {
  console.log("الكلمة غير موجودة.");
}
JavaScript

التفسير:

  • إذا كانت indexOf() تُعيد قيمة أكبر من -1، فهذا يعني أن النص موجود.

الفرق بين indexOf() و lastIndexOf()

  • indexOf() تبحث من البداية إلى النهاية (تُعيد أول ظهور).
  • lastIndexOf() تبحث من النهاية إلى البداية (تُعيد آخر ظهور).
let text = "JavaScript is fun. JavaScript is powerful.";
console.log(text.indexOf("JavaScript"));      // النتيجة: 0
console.log(text.lastIndexOf("JavaScript"));  // النتيجة: 22
JavaScript

ملخص

indexOf() تُعيد الفهرس الأول لظهور النص.
✅ إذا لم يتم العثور على النص، تُعيد -1.
✅ يمكن استخدام startIndex لبدء البحث من موقع معين.
✅ مفيدة في التحقق مما إذا كان النص موجودًا في الجملة.

🚀 indexOf() أداة قوية للبحث داخل النصوص في JavaScript!

———————————-

شرح دالة lastIndexOf() في JavaScript

دالة lastIndexOf() تُستخدم للعثور على آخر موضع لظهور قيمة معينة داخل النص.

بمعنى أنها تبحث من نهاية النص إلى البداية، وعند العثور على القيمة تُعيد فهرس آخر ظهور لها. إذا لم يتم العثور عليها، تُعيد -1.

الصيغة العامة:


string.lastIndexOf(value, startIndex);
JavaScript

string: النص الذي نبحث فيه.value (مطلوب): النص أو الحرف الذي نبحث عنه.

startIndex(اختياري، الافتراضي string.length - 1): بداية البحث، ولكن يتم البحث للخلف.

ترجع الدالة رقم الفهرس لموضع آخر ظهور للنص أو الحرف، وإذا لم يتم العثور عليه تُعيد -1.

أمثلة على lastIndexOf()

المثال الأول: العثور على آخر ظهور لكلمة

let text = "JavaScript is fun. JavaScript is powerful.";
console.log(text.lastIndexOf("JavaScript")); // النتيجة: 22
console.log(text.lastIndexOf("fun"));        // النتيجة: 15
console.log(text.lastIndexOf("hello"));      // النتيجة: -1
JavaScript

التفسير:

  • "JavaScript" ظهرت آخر مرة عند الفهرس 22.
  • "fun" ظهرت آخر مرة عند الفهرس 15.
  • "hello" غير موجودة، لذا النتيجة -1.

المثال الثاني: استخدام startIndex لتحديد نقطة البحث


let text = "Hello JavaScript, welcome to JavaScript!";
console.log(text.lastIndexOf("JavaScript", 20)); // النتيجة: 6
JavaScript

التفسير:

  • البحث بدأ من الفهرس 20 ولكن للخلف.
  • تم العثور على "JavaScript" الأولى عند الفهرس 6.

المثال الثالث: البحث عن آخر ظهور لحرف معين

let text = "Hello World!";
console.log(text.lastIndexOf("o"));  // النتيجة: 7
console.log(text.lastIndexOf("o", 5)); // النتيجة: 4
JavaScript

التفسير:

  • آخر "o" في النص موجودة عند الفهرس 7.
  • عند البحث للخلف من الفهرس 5، يتم العثور على "o" السابقة عند الفهرس 4.

المثال الرابع: البحث عن كلمة غير موجودة

let text = "Cloud Soft Academy";
console.log(text.lastIndexOf("Code")); // النتيجة: -1
JavaScript

التفسير:
"Code" غير موجودة، لذا تُعيد الدالة -1.

الفرق بين indexOf() و lastIndexOf()

الدالةطريقة البحثتعيد
indexOf()من البداية إلى النهايةأول ظهور
lastIndexOf()من النهاية إلى البدايةآخر ظهور




let text = "JavaScript is fun. JavaScript is powerful.";
console.log(text.indexOf("JavaScript"));      // النتيجة: 0
console.log(text.lastIndexOf("JavaScript"));  // النتيجة: 22
JavaScript

استخدام lastIndexOf() مع if للتحقق من وجود نص

let message = "Hello JavaScript!";
if (message.lastIndexOf("JavaScript") !== -1) {
  console.log("الكلمة موجودة في النص!");
} else {
  console.log("الكلمة غير موجودة.");
}
JavaScript

التفسير:

  • إذا كانت lastIndexOf() تُعيد قيمة أكبر من -1، فهذا يعني أن النص موجود.

ملخص

lastIndexOf() تُعيد الفهرس الأخير لظهور النص.
✅ إذا لم يتم العثور على النص، تُعيد -1.
✅ يمكن استخدام startIndex لتحديد نقطة البحث ولكن للخلف.
✅ مفيدة في العثور على آخر ظهور لنص أو حرف داخل النصوص.

🚀 lastIndexOf() أداة قوية للبحث عن النصوص في JavaScript من النهاية إلى البداية!

——————————————–

شرح دالة slice() في JavaScript

دالة slice() تُستخدم لاستخراج جزء من النص (السلسلة النصية string) وإرجاعه كسلسلة جديدة دون تعديل النص الأصلي.

الصيغة العامة:

string.slice(startIndex, endIndex)
JavaScript

startIndex(مطلوب): بداية القص (بالفهرس، يبدأ من 0)

.endIndex(اختياري): نقطة التوقف(الفهرس الذي يتوقف عنده القص، لكن لا يشمله).

إذا لم يتم تحديد endIndex، يتم أخذ النص من startIndex حتى نهاية النص.

يمكن استخدام قيم سالبة لعدّ الفهارس من نهاية النص.

أمثلة على slice()

المثال الأول: استخراج جزء من النص

let text = "JavaScript is awesome";
let result = text.slice(0, 10);
console.log(result); // النتيجة: "JavaScript"
JavaScript

التفسير:

  • بدأ القص من الفهرس 0.
  • توقف القص عند الفهرس 10 (الحرف عند 10 غير مشمول).
  • الناتج "JavaScript".

المثال الثاني: استخراج النص حتى النهاية

let text = "Hello World!";
let result = text.slice(6);
console.log(result); // النتيجة: "World!"
JavaScript

التفسير:

  • بدأ القص من الفهرس 6.
  • لم يتم تحديد endIndex، لذا استمر القص حتى نهاية النص.
  • الناتج "World!".

المثال الثالث: استخدام القيم السالبة للقص من نهاية النص





let text = "JavaScript";
let result = text.slice(-6, -1);
console.log(result); // النتيجة: "Scrip"
JavaScript

التفسير:

  • -6 تعني بدء القص من الحرف السادس من النهاية (S).
  • -1 تعني التوقف عند الحرف الأخير ولكن لا يشمله (t).
  • الناتج "Scrip".

المثال الرابع: استخراج آخر 4 حروف

let text = "Programming";
let result = text.slice(-4);
console.log(result); // النتيجة: "ming"
JavaScript

التفسير:

  • بدأ القص من الحرف الرابع من النهاية (m).
  • لم يتم تحديد endIndex، لذا تم أخذ باقي النص حتى النهاية.
  • الناتج "ming".

المثال الخامس: استخراج أول 5 حروف

let text = "Development";
let result = text.slice(0, 5);
console.log(result); // النتيجة: "Devel"
JavaScript

التفسير:

  • بدأ القص من الفهرس 0.
  • توقف عند 5 (الحرف عند 5 غير مشمول).
  • الناتج "Devel".

مقارنة slice() مع substring() و substr()

الدالةطريقة العمل
slice(start, end)تقص النص بين الفهرسين (السالب يعمل بشكل طبيعي).
substring(start, end)مشابهة لـ slice() لكن لا تدعم القيم السالبة.
substr(start, length)تأخذ الفهرس ثم عدد الحروف المراد استخراجها.
let text = "JavaScript";

// slice()
console.log(text.slice(0, 4)); // "Java"
console.log(text.slice(-6, -1)); // "Scrip"

// substring() (لا يدعم القيم السالبة)
console.log(text.substring(0, 4)); // "Java"

// substr()
console.log(text.substr(0, 4)); // "Java"
console.log(text.substr(4, 6)); // "Script"
JavaScript

ملخص

slice() تُستخدم لاستخراج جزء معين من النص دون تغييره.
✅ تعمل مع القيم السالبة لبدء القص من نهاية النص.
endIndex غير مشمول في القص.
✅ عند عدم تحديد endIndex، يتم القص حتى نهاية النص.

🚀 slice() طريقة مرنة وقوية لاستخراج النصوص في JavaScript!

—————————————–

شرح دالة repeat() في JavaScript بالتفصيل

تُستخدم دالة repeat() في JavaScript لتكرار سلسلة نصية (string) عددًا معينًا من المرات، ثم تُعيد النص المُكرر كقيمة جديدة دون تغيير النص الأصلي.

الصيغة العامة للدالة

string.repeat(count)
JavaScript

المعاملات

  1. count (إجباري):

✅ عدد مرات تكرار النص.

✅ يجب أن يكون رقمًا غير سالب.

✅ إذا كان count = 0، فالناتج سيكون نصًا فارغًا (“”).

✅ إذا كان count رقمًا عشريًا، فسيتم تقريبه إلى أقرب عدد صحيح (يتم أخذ الجزء الصحيح فقط).

القيمة المعادة

  • تُعيد نسخة جديدة من النص مكررة بعدد المرات المحدد.
  • لا تؤثر على النص الأصلي.

أمثلة عملية على repeat()

المثال الأول: تكرار النص عدة مرات

let text = "مرحبا ";
console.log(text.repeat(3));  

//مرحبا مرحبا مرحبا 
التفسير: تم تكرار النص "مرحبا " ثلاث مرات.
JavaScript

المثال الثاني: استخدام repeat() مع عدد صفر

let text = "Hello";
console.log(text.repeat(0));  

""
JavaScript

التفسير: عندما يكون count = 0، فإن النتيجة تكون سلسلة نصية فارغة.

المثال الثالث: التعامل مع الأعداد العشرية

let text = "JS ";
console.log(text.repeat(2.7));
console.log(text.repeat(2.2));

-----------------------------------
JS JS 
JS JS 
JavaScript

التفسير: يتم تقريب العدد العشري إلى أقرب عدد صحيح (يتم أخذ العدد الصحيح فقط).

المثال الرابع: تكرار النصوص لإنشاء أنماط

console.log("*".repeat(5));  
console.log("-".repeat(10)); 
console.log("❤️".repeat(3)); 

---------------------------
*****
----------
❤️❤️❤️
JavaScript

التفسير:

  • ✅ تم تكرار النجمة ⭐ خمس مرات.
  • ✅ تم تكرار الشرطة ➖ عشر مرات.
  • ✅ تم تكرار رمز القلب ❤️ ثلاث مرات.

المثال الخامس: استخدام repeat() لإنشاء فواصل بين الكلمات





let word = "كلمة";
console.log(word.repeat(3).split("").join("-"));
--------------------------------
ك-ل-م-ة-ك-ل-م-ة-ك-ل-م-ة
JavaScript

التفسير:

  • ✅ تم تكرار “كلمة” ثلاث مرات.
  • ✅ تم تحويل النص إلى مصفوفة من الأحرف باستخدام split("").
  • ✅ تم ضم الأحرف مع - باستخدام join("-").

المثال السادس: إنشاء خطوط فاصلة في الواجهات النصية





let separator = "=".repeat(30);
console.log(separator);

-----------------
==============================
JavaScript

التفسير: تم إنشاء خط يتكون من = بطول 30 حرفًا ليُستخدم كفاصل.

أمثلة متقدمة لاستخدام repeat()

1- إنشاء قائمة من العناصر بسرعة

let item = "📌 المهمة ";
console.log((item.repeat(5)).split(" ").join("\n"));
---------------------------
📌 المهمة
📌 المهمة
📌 المهمة
📌 المهمة
📌 المهمة
JavaScript

التفسير: تم تكرار "📌 المهمة " خمس مرات وتم وضع كل واحدة في سطر جديد.

2- إنشاء مربع نصي باستخدام repeat()

let size = 5;
let row = "* ".repeat(size);
for (let i = 0; i < size; i++) {
  console.log(row);
}

-----------------
* * * * * 
* * * * * 
* * * * * 
* * * * * 
* * * * * 
JavaScript

التفسير:

  • repeat(size) تكرار النجمة * خمس مرات.
  • الحلقة for تقوم بطباعة الصف المكرر عدة مرات لإنشاء مربع.

ملخص

  • repeat(count) تُستخدم لتكرار النص عددًا معينًا من المرات.
  • تُعيد نسخة جديدة من النص دون تغيير الأصل.
  • إذا كان count = 0، يتم إرجاع نص فارغ "".
  • إذا كان count عشريًا، يتم تقريب الرقم وأخذ الجزء الصحيح فقط.
  • تُستخدم في تطبيقات مثل:
    • تكرار النصوص.
    • إنشاء فواصل مرئية.
    • توليد أنماط نصية بسرعة.

متى نستخدم repeat()؟

✅ عند الحاجة إلى إنشاء فواصل نصية في CLI أو لوحات تحكم.
✅ عند الحاجة إلى إنشاء قوائم أو تكرار نصوص معينة تلقائيًا.
✅ عند توليد تصاميم بسيطة من النصوص مثل الجداول أو الأشكال.

🚀 repeat() أداة قوية لتكرار النصوص بسهولة ومرونة في JavaScript!


شرح دالة split() في JavaScript

تُستخدم دالة split() لتقسيم النصوص (string) إلى مصفوفة (array) بناءً على فاصل معين (separator). يمكن استخدامها لتقسيم الكلمات، الجمل، الأحرف، أو حتى تنظيم البيانات في شكل قوائم.

separator (اختياري): الفاصل الذي سيتم استخدامه لتقسيم النص.

✅ إذا كان separator سلسلة (string)، فسيتم تقسيم النص في كل مرة يظهر فيها هذا الفاصل.

✅ إذا كان separator فارغًا ("")، فسيتم تقسيم النص إلى أحرف فردية.

✅ إذا لم يتم تحديده، فسيتم إرجاع النص كعنصر واحد داخل مصفوفة.

limit (اختياري): عدد العناصر التي سيتم إرجاعها بعد التقسيم.

 ✅ إذا تم تحديده، فسيتم إرجاع عدد معين من العناصر فقط من المصفوفة.

 ✅ إذا لم يتم تحديده، فسيتم إرجاع جميع العناصر.

أمثلة عملية على split()

المثال الأول: تقسيم النص إلى كلمات

let text = "مرحبا بك في عالم البرمجة";
let words = text.split(" ");
console.log(words);
----------------
["مرحبا", "بك", "في", "عالم", "البرمجة"]
JavaScript

التفسير:

  • تم استخدام المسافة " " كفاصل، لذا تم تقسيم النص إلى كلمات منفصلة.

المثال الثاني: تقسيم النص إلى أحرف منفصلة





let word = "JavaScript";
let letters = word.split("");
console.log(letters);
----------------------
["J", "a", "v", "a", "S", "c", "r", "i", "p", "t"]
JavaScript

التفسير:

  • عند استخدام "" كفاصل، يتم تقسيم النص إلى كل حرف على حدة.

المثال الثالث: استخدام limit لتحديد عدد العناصر بعد التقسيم

let text = "HTML,CSS,JavaScript,Python,PHP";
let parts = text.split(",", 3);
console.log(parts);
--------------------------
["HTML", "CSS", "JavaScript"]
JavaScript

التفسير:

  • تم تقسيم النص باستخدام الفاصلة "," كفاصل.
  • تم تحديد limit = 3، لذا تم استخراج أول 3 عناصر فقط.

المثال الرابع: تقسيم نص يحتوي على فواصل متعددة

let data = "اسم:محمد،عمر:25،مدينة:القاهرة";
let details = data.split("،");
console.log(details);
-----------------------
["اسم:محمد", "عمر:25", "مدينة:القاهرة"]
JavaScript

التفسير:

  • تم تقسيم النص بناءً على الفاصلة العربية ،، مما جعل كل جزء يحتوي على معلومات منفصلة.

المثال الخامس: استخدام split() مع map() لاستخراج القيم فقط

let info = "اسم:أحمد،عمر:30،بلد:الأردن";
let values = info.split("،").map(item => item.split(":")[1]);
console.log(values);
---------------------
["أحمد", "30", "الأردن"]
JavaScript

التفسير:

  • قمنا بتقسيم النص إلى أجزاء بناءً على ،.
  • لكل جزء، قمنا بتقسيمه مرة أخرى بناءً على : وأخذ الجزء الثاني فقط (القيمة).

المثال السادس: استخدام split() لإزالة الفراغات الزائدة

let sentence = "   تعلم JavaScript  بسهولة   ";
let cleanWords = sentence.trim().split(/\s+/);
console.log(cleanWords);
-------------------------
["تعلم", "JavaScript", "بسهولة"]
JavaScript

التفسير:

  • استخدمنا trim() لإزالة المسافات الزائدة في البداية والنهاية.
  • استخدمنا التعبير النمطي /\s+/ لتقسيم النص بناءً على أي عدد من المسافات.

أمثلة متقدمة لاستخدام split()

1- استخراج اسم المستخدم من البريد الإلكتروني

let email = "[email protected]";
let username = email.split("@")[0];
console.log(username);
-----------------------
"example"
JavaScript

التفسير:

  • قمنا بتقسيم البريد الإلكتروني بناءً على @ وأخذنا الجزء الأول (اسم المستخدم).

2- إنشاء قائمة عناصر من نص مفصول بفاصلة



let items = "تفاح, موز, عنب, برتقال";
let itemList = `<ul><li>${items.split(", ").join("</li><li>")}</li></ul>`;
console.log(itemList);
----------------------------
<ul>
  <li>تفاح</li>
  <li>موز</li>
  <li>عنب</li>
  <li>برتقال</li>
</ul>
JavaScript

التفسير:

  • قمنا بتقسيم النص بناءً على ", "، ثم استخدمنا join() لإضافة عناصر <li>.

ملخص

  • split(separator, limit) تُستخدم لتقسيم النص إلى مصفوفة.
  • separator هو الفاصل الذي يتم التقسيم عنده.
  • limit يحدد الحد الأقصى لعدد العناصر في المصفوفة.
  • يمكن استخدامها لتقسيم الكلمات، الجمل، البيانات، وتحليل النصوص.

متى نستخدم split()؟

✅ عند استخراج الكلمات من الجمل.
✅ عند تحليل النصوص وفصل البيانات.
✅ عند التعامل مع الملفات النصية أو قراءة الأسطر.
✅ عند استخراج القيم من النصوص المعقدة (مثل البريد الإلكتروني).

🚀 split() أداة قوية جدًا لمعالجة النصوص بسهولة ومرونة في JavaScript!

—————————————————————-

شرح دالة substr() في JavaScript بالتفصيل

تُستخدم دالة substr() لاستخراج جزء من النص (string) بناءً على موضع البداية (start) وطول الجزء المطلوب (length).

string.substr(start, length)
JavaScript

المعاملات

  1. start (إجباري): الموضع الذي يبدأ منه الاستخراج.
    • إذا كان start رقمًا موجبًا، يبدأ الاستخراج من ذلك الموضع.
    • إذا كان start رقمًا سالبًا، يبدأ الاستخراج من نهاية النص.
  2. length (اختياري): عدد الأحرف التي سيتم استخراجها.
    • إذا لم يتم تحديده، فسيتم استخراج باقي النص من start حتى النهاية.

أمثلة عملية على substr()

المثال الأول: استخراج جزء من النص

let text = "JavaScript Language";
let result = text.substr(0, 10);
console.log(result);
-------------------------
"JavaScript"
JavaScript

التفسير:

  • بدأنا من الموضع 0 واستخرجنا 10 أحرف.

المثال الثاني: استخدام start السالب

let text = "Hello World!";
let result = text.substr(-6, 5);
console.log(result);
------------------
"World"
JavaScript

التفسير:

  • بدأنا من الموضع -6 (أي 6 أحرف من نهاية النص).
  • استخرجنا 5 أحرف.

المثال الثالث: عدم تحديد length

let text = "Frontend Development";
let result = text.substr(9);
console.log(result);
-------------------
"Development"
JavaScript

التفسير:

  • بدأنا من الموضع 9 واستخرجنا باقي النص.

المثال الرابع: استخراج آخر 4 أحرف

let text = "Programming";
let result = text.substr(-4);
console.log(result);
-------------------
"ming"
JavaScript

التفسير:

  • بدأنا من الموضع -4 واستخرجنا بقية النص حتى النهاية.

المثال الخامس: استخراج اسم النطاق من بريد إلكتروني

let email = "[email protected]";
let domain = email.substr(email.indexOf("@") + 1);
console.log(domain);
---------------
"example.com"
JavaScript

التفسير:

  • استخدمنا indexOf("@") + 1 لتحديد بداية اسم النطاق بعد @.

المثال السادس: استخراج سنة من تاريخ

let date = "2024-02-06";
let year = date.substr(0, 4);
console.log(year);
-------------------
"2024"
JavaScript

التفسير:

  • بدأنا من 0 واستخرجنا 4 أحرف (السنة).

المقارنة بين substr() و substring() و slice()

الدالةتقبل قيم سالبة؟كيف تعمل؟
substr(start, length)✅ نعمتبدأ من start وتُرجع length عدد من الأحرف
substring(start, end)❌ لاتبدأ من start حتى end (دون تضمين end)
slice(start, end)✅ نعممثل substring() لكن تدعم القيم السالبة

متى نستخدم substr()؟

✅ عند استخراج جزء محدد بعدد أحرف معين.
✅ عند التعامل مع النصوص الديناميكية مثل التواريخ والبريد الإلكتروني.
✅ عند استخراج البيانات بسرعة دون الحاجة لحساب النهاية يدويًا.

🚀 substr() أداة قوية لمعالجة النصوص بسهولة في JavaScript!

شرح دالة includes() في JavaScript بالتفصيل

تُستخدم دالة includes() للتحقق مما إذا كان النص يحتوي على قيمة معينة أو لا. وهي تُعيد قيمة منطقية (true أو false) بناءً على ما إذا كانت السلسلة تحتوي على الجزء المطلوب أم لا.

string.includes(value, start)
JavaScript

المعاملات

  1. value (إجباري): القيمة التي نبحث عنها داخل السلسلة.
    • يمكن أن تكون هذه القيمة أي نوع من أنواع البيانات مثل نصوص أو أحرف أو أرقام.
  2. start (اختياري): الموضع الذي يبدأ منه البحث داخل السلسلة.
    • إذا تم تحديده، يبدأ البحث من هذا الموضع.
    • إذا لم يتم تحديده، يبدأ البحث من بداية السلسلة.

أمثلة عملية على includes()

المثال الأول: التحقق من وجود كلمة داخل نص

let sentence = "أنا أحب البرمجة";
let result = sentence.includes("أحب");
console.log(result);
--------------------
true
JavaScript

التفسير:

  • الدالة تُعيد true لأن النص يحتوي على الكلمة “أحب”.

المثال الثاني: التحقق من وجود كلمة غير موجودة

let sentence = "تعلم JavaScript";
let result = sentence.includes("HTML");
console.log(result);
-------------------
false
JavaScript

التفسير:

  • الدالة تُعيد false لأن النص لا يحتوي على الكلمة “HTML”.

المثال الثالث: استخدام start لتحديد بداية البحث


let sentence = "مرحبًا بك في عالم البرمجة";
let result = sentence.includes("البرمجة", 10);
console.log(result);
---------------------
true
JavaScript

التفسير:

  • بدأنا البحث من الموضع 10 داخل النص، وتم العثور على “البرمجة” بعد هذا الموضع.

المثال الرابع: التحقق من وجود حرف داخل النص





let word = "JavaScript";
let result = word.includes("S");
console.log(result);
-------------------
true
JavaScript

التفسير:

  • تم العثور على الحرف “S” داخل الكلمة “JavaScript”، لذا تُعيد الدالة true.

المثال الخامس: التحقق من وجود جزء في نص فارغ

let word = "";
let result = word.includes("hello");
console.log(result);
-------------------
false
JavaScript

التفسير:

  • لا يمكن العثور على أي قيمة داخل النص الفارغ، لذا تُعيد الدالة false.

المثال السادس: التحقق من وجود نص داخل سلسلة باستخدام start





let text = "مرحبا بكم في عالم البرمجة";
let result = text.includes("عالم", 5);
console.log(result);
-------------------
true
JavaScript

التفسير:

  • تم تحديد بداية البحث من الموضع 5، وعُثر على كلمة “عالم” بعد هذا الموضع.

مقارنة بين includes() و indexOf()

  • includes() تُعيد true أو false بناءً على ما إذا كانت القيمة موجودة.
  • indexOf() تُعيد مؤشر (رقم) الموضع الذي تبدأ فيه القيمة في السلسلة، وإذا لم تجدها تُعيد -1.

متى نستخدم includes()؟

✅ عندما نحتاج للتحقق إذا كان نص يحتوي على كلمة أو جزء معين.
✅ عند التعامل مع بيانات يمكن أن تحتوي على قيم معينة نريد التأكد من وجودها.
✅ في حالات البحث البسيطة التي لا تتطلب معرفة موقع القيمة.

🚀 includes() أداة بسيطة وفعالة للتحقق من وجود نص داخل نص آخر في JavaScript!

——————————————————

شرح دالة startsWith() في JavaScript بالتفصيل

تُستخدم دالة startsWith() للتحقق مما إذا كان النص يبدأ بقيمة معينة أم لا. هي دالة تُعيد قيمة منطقية (true أو false) بناءً على ما إذا كانت السلسلة تبدأ بالقيمة المحددة أم لا.

string.startsWith(value, start)
JavaScript

المعاملات

  1. value (إجباري): القيمة التي نتحقق مما إذا كان النص يبدأ بها.
    • يمكن أن تكون هذه القيمة نصًا أو حرفًا أو سلسلة جزئية.
  2. start (اختياري): الموضع الذي يبدأ منه البحث في النص.
    • إذا تم تحديده، يبدأ البحث من هذا الموضع داخل السلسلة.
    • إذا لم يتم تحديده، يبدأ البحث من بداية السلسلة.

أمثلة عملية على startsWith()

المثال الأول: التحقق إذا كان النص يبدأ بكلمة معينة

let sentence = "أنا أحب البرمجة";
let result = sentence.startsWith("أنا");
console.log(result);
--------------------
true
JavaScript

التفسير:

  • النص يبدأ بالكلمة “أنا”، لذا تُعيد الدالة true.

المثال الثاني: التحقق إذا كان النص لا يبدأ بكلمة معينة

let sentence = "تعلم JavaScript";
let result = sentence.startsWith("Java");
console.log(result);
---------------------
false
JavaScript

التفسير:

  • النص لا يبدأ بكلمة “Java”، لذا تُعيد الدالة false.

المثال الثالث: استخدام start لتحديد بداية البحث

let sentence = "مرحبًا بك في عالم البرمجة";
let result = sentence.startsWith("بك", 4);
console.log(result);
--------------------
true
JavaScript

التفسير:

  • بدأنا البحث من الموضع 4 داخل النص، وعُثر على “بك” بعد هذا الموضع.

التحقق من نص فارغ

let word = "";
let result = word.startsWith("hello");
console.log(result);
--------------------
false
JavaScript

التفسير:

  • النص فارغ، لذا لا يمكن أن يبدأ بأي قيمة، تُعيد الدالة false.

مقارنة بين startsWith() و indexOf()

  • startsWith() يتحقق فقط من بداية النص.
  • indexOf() يُعيد مؤشر (رقم) موضع البداية إذا كانت القيمة موجودة في أي مكان داخل النص، أو يُعيد -1 إذا لم يجدها.

متى نستخدم startsWith()؟

✅ عندما نحتاج للتحقق مما إذا كان النص يبدأ بقيمة معينة.
✅ في حالات التحقق من أولوية أو بداية النصوص في التطبيقات.
✅ في تحليل البيانات أو الكلمات المفتاحية.

🚀 startsWith() أداة بسيطة وفعالة للتحقق من بداية النص في JavaScript!

————————————————–

شرح دالة endsWith() في JavaScript بالتفصيل

تُستخدم دالة endsWith() للتحقق مما إذا كان النص ينتهي بقيمة معينة أم لا. هي دالة تُعيد قيمة منطقية (true أو false) بناءً على ما إذا كانت السلسلة تنتهي بالقيمة المحددة أم لا.

string.endsWith(value, length)
JavaScript

المعاملات

  1. value (إجباري): القيمة التي نتحقق مما إذا كان النص ينتهي بها.
    • يمكن أن تكون هذه القيمة نصًا أو حرفًا أو سلسلة جزئية.
  2. length (اختياري): عدد الأحرف التي يتم اعتبارها من النص.
    • يتم استخدام هذا المعامل لتحديد عدد الأحرف التي يتم التحقق منها، وإذا لم يتم تحديده، فإنه يتم التحقق من النص بالكامل.

أمثلة عملية على endsWith()

المثال الأول: التحقق إذا كان النص ينتهي بكلمة معينة

let sentence = "أنا أحب البرمجة";
let result = sentence.endsWith("البرمجة");
console.log(result);
------------------
true
JavaScript

التفسير:

  • النص ينتهي بالكلمة “البرمجة”، لذا تُعيد الدالة true.

المثال الثاني: التحقق إذا كان النص لا ينتهي بكلمة معينة

let sentence = "تعلم JavaScript";
let result = sentence.endsWith("Python");
console.log(result);
-----------------
true
JavaScript

التفسير:

  • النص لا ينتهي بكلمة “Python”، لذا تُعيد الدالة false.

المثال الثالث: استخدام length لتحديد عدد الأحرف المعتبرة في التحقق

let sentence = "مرحبًا بك في عالم البرمجة";
let result = sentence.endsWith("البرمجة", 20);
console.log(result);
-------------------
true
JavaScript

التفسير:

  • تم تحديد طول النص الذي يتم التحقق منه ليكون 20 حرفًا فقط، وتنتهي الكلمة “البرمجة” في هذا الجزء من النص.

المثال الرابع: التحقق من وجود حرف في نهاية النص


let word = "JavaScript";
let result = word.endsWith("t");
console.log(result);
-----------------
true
JavaScript

التفسير:

  • النص ينتهي بالحرف “t”، لذا تُعيد الدالة true.

المثال الخامس: التحقق من نص فارغ

let word = "";
let result = word.endsWith("hello");
console.log(result);
--------------------
false
JavaScript

التفسير:

  • التفسير:
  • النص فارغ، لذا لا يمكن أن ينتهي بأي قيمة، تُعيد الدالة false.

المثال السادس: التحقق من جزء من النص في النهاية باستخدام length

let text = "JavaScript Programming";
let result = text.endsWith("Programming", 15);
console.log(result);
------------------
true
JavaScript

التفسير:

تم تحديد طول النص الذي يتم التحقق منه ليكون 15 حرفًا فقط، وتنتهي الكلمة “Programming” في هذا الجزء من النص.

مقارنة بين endsWith() و indexOf()

  • endsWith() يتحقق فقط من نهاية النص.
  • indexOf() يُعيد مؤشر (رقم) موضع البداية إذا كانت القيمة موجودة في أي مكان داخل النص، أو يُعيد -1 إذا لم يجدها.

متى نستخدم endsWith()؟

✅ عندما نحتاج للتحقق مما إذا كان النص ينتهي بقيمة معينة.
✅ في حالات التحقق من امتدادات الملفات أو عناوين URLs.
✅ في فحص النصوص أو التأكد من الصيغ في التطبيقات.

🚀 endsWith() أداة بسيطة وفعالة للتحقق من نهاية النص في JavaScript!