String.prototype.substring()
الدالة String.prototype.substring()
تُعيد سلسلةً نصيةً فرعيةً من سلسلةٍ نصيةٍ أخرى والتي تقع بين فهرسين.
البنية العامة
str.substring(indexStart[, indexEnd])
indexStart
عدد صحيح بين 0 وطول السلسلة النصية يُحدِّد فهرس بداية السلسلة المستخرجة، وسيُضمَّن المحرف الموجود عند هذا الفهرس في السلسلة النصية المُستخرَجة.
indexEnd
قيمةٌ اختياريةٌ، وهي عددٌ صحيحٌ بين 0 طول السلسلة النصية يُحدِّد فهرس نهاية السلسلة المُستخرَجة. لاحظ أنَّ الحرف الموجود عند هذا الفهرس لن يُضمَّن في السلسلة النصية المُستخرَجة.
القيمة المعادة
سلسلة نصية جديدة تحتوي على القسم المستخرج من السلسلة المعطية.
الوصف
الدالة substring()
تستخرج المحارف بدءًا من indexStart
حتى indexEnd
(دون تضمين المحرف الموجود في الفهرس indexEnd
):
- إذا كان
indexStart
يساويindexEnd
، فستُعيد الدالةsubstring
سلسلةً نصية فارغةً. - إذا لم تُحدَّد قيمة
indexEnd
، فستستخرج الدالةsubstring
المحارف من فهرس البداية حتى نهاية السلسلة النصية. - إذا كان أحد الوسيطين أقل من 0 أو
NaN
، فسيُعامَل على أنَّه 0. - إذا كان أحد الوسيطين أكبر من
str.length
فسيُعامَل على أنَّه مساوٍ للقيمةstr.length
.
إذا كانت قيمة indexStart
أكبر من indexEnd
، فستعمل الدالة substring
كما لو أننا بدّلنا بين الوسيطين، أي مثلًا: str.substring(1, 0) == str.substring(0, 1)
.
أمثلة
استخدام substring()
يبيّن المثال الآتي بعض حالات استخدام الدالة substring()
:
var anyString = 'Hsoub';
// 'Hso'
console.log(anyString.substring(0, 3));
console.log(anyString.substring(3, 0));
// 'b'
console.log(anyString.substring(4, 5));
console.log(anyString.substring(4));
console.log(anyString.substring(5, 4));
// 'Hsou'
console.log(anyString.substring(0, 4));
// 'Hsoub'
console.log(anyString.substring(0, 5));
console.log(anyString.substring(0, 10));
استخدام substring()
مع الخاصية length
المثال الآتي يستخدم الدالة substring
والخاصية length
لاستخراج آخر عدّة محارف من السلسلة النصية. لاحظ أنَّ هذه الطريقة سهلة التذكر لأنَّك لا تحتاج إلى معرفة فهرس البداية وفهرس النهاية كما في الأمثلة السابقة:
// عرض آخر محرفين
var anyString = 'Hsoub';
var anyString4 = anyString.substring(anyString.length - 2);
console.log(anyString4); // 'ub'
// عرض آخر 3 محارف
var anyString = 'Hsoub';
var anyString5 = anyString.substring(anyString.length - 3);
console.log(anyString5); // 'oub'
الفرق بين الدالتين substring()
و substr()
هنالك اختلافٌ طفيف بين الدالتين substring()
و substr()
لذا احرص على عدم الخلط بينهما.
انتبه إلى أنَّ الدالة substring()
تقبل فهرس البداية والنهاية كوسائط، أما وسائط الدالة substr()
فهي فهرس البداية وطول المحارف التي تُشكِّل السلسلة النصية.
var text = 'Hsoub';
console.log(text.substring(2,5)); // "oub"
console.log(text.substr(2,3)); // "oub"
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 1st Edition .