دالة charCodeAt()
تُستخدم للحصول على القيمة الرقمية (Unicode) للحرف الموجود في موقع معين داخل النص. هذه القيمة تعبر عن الرمز الرقمي للحرف في ترميز Unicode.
الصيغة العامة:
string.charCodeAt(index);
string
: النص الذي نريد استخراج الرمز الرقمي منه
.index
: موضع الحرف داخل النص (يبدأ من 0).
ترجع الدالة رقمًا صحيحًا يمثل كود الحرف في Unicode.
كيفية عمل charCodeAt()
- تأخذ فهرس الحرف (
index
) داخل النص. - تُعيد الكود الرقمي لهذا الحرف وفق ترميز Unicode.
- إذا كان الفهرس خارج نطاق النص، تُعيد
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)
JavaScriptstring
: النص الذي نبحث فيه.
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);
JavaScriptstring
: النص الذي نبحث فيه.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)
JavaScriptstartIndex
(مطلوب): بداية القص (بالفهرس، يبدأ من 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المعاملات
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المعاملات
start
(إجباري): الموضع الذي يبدأ منه الاستخراج.- إذا كان
start
رقمًا موجبًا، يبدأ الاستخراج من ذلك الموضع. - إذا كان
start
رقمًا سالبًا، يبدأ الاستخراج من نهاية النص.
- إذا كان
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المعاملات
value
(إجباري): القيمة التي نبحث عنها داخل السلسلة.- يمكن أن تكون هذه القيمة أي نوع من أنواع البيانات مثل نصوص أو أحرف أو أرقام.
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المعاملات
value
(إجباري): القيمة التي نتحقق مما إذا كان النص يبدأ بها.- يمكن أن تكون هذه القيمة نصًا أو حرفًا أو سلسلة جزئية.
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المعاملات
value
(إجباري): القيمة التي نتحقق مما إذا كان النص ينتهي بها.- يمكن أن تكون هذه القيمة نصًا أو حرفًا أو سلسلة جزئية.
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!