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
الدعم الأساسي نعم نعم نعم نعم نعم

مصادر ومواصفات