String.prototype.substr()‎

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

الدالة String.prototype.substr()‎ تُعيد عددًا معيّنًا من المحارف بدءًا من الموضع المُحدَّد.

البنية العامة

str.substr(start[, length])

start

فهرس مكان بدء الاستخراج (يبدأ العد من الصفر)، وإذا كان سالبًا فسيعامل على أنَّه strLength + start، إذ إنَّ strLength هو طول السلسلة النصية (على سبيل المثال، إذا كان start يساوي -3 فسيعامل على أنه strLength - 3).

length

عدد المحارف التي نريد استخراجها؛ إذا كانت قيمة هذه الوسيط هي undefined فستُستخرج جميع المحارف بدءًا من الفهرس start.

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

سلسلة نصية جديدة تحتوي على القسم المستخرج من السلسلة النصية الأصل. إذا كانت قيمة الوسيط length عددًا سالبًا أو 0، فستُعاد سلسلةٌ نصيةٌ فارغة.

الوصف

الوسيط start هو فهرس البداية، ويكون فهرس أوّل محرف هو 0، وفهرس آخر محرف هو «طول السلسلة النصية - 1». لاحظ أنَّ الدالة substr()‎ تبدأ استخراج المحارف من الفهرس start وتستمر باستخراج عدد من المحارف يساوي قيمة الوسيط length (ما لم تصل إلى نهاية السلسلة النصية أولًا، مما يجعلها تستخرج عدد محارف أقل من قيمة length).

إذا كانت قيمة الوسيط start موجبةً وكانت أكبر أو تساوي طول السلسلة النصية الأصلية، فستُعيد هذه الدالة سلسلةً نصيةً فارغةً.

إذا كانت قيمة start سالبةً، فستُعدّ على أنها فهرس البداية لكن بدءًا من نهاية السلسلة النصة، أي أنَّ فهرس آخر محرف هو ‎-1. وإذا كانت قيمة start سالبةً وكانت نتيجة abs(start)‎ أكبر من طول السلسلة النصية، فستستخدم الدالة substr()‎ القيمة 0 كفهرس بداية.

إذا كانت قيمة الوسيط length سالبةً أو 0، فستُعيد هذه الدالة سلسلةً نصيةً فارغةً، وإذا لم تُحدَّد قيمةٌ للوسيط length فستستخرج هذه الدالة المحارف من فهرس البداية حتى نهاية السلسلة النصية.

أمثلة

استخدام substr()‎

يبيّن المثال الآتي بعض حالات استخدام الدالة substr()‎:

var str = 'abcdefghij';

console.log('(1, 2): '   + str.substr(1, 2));   // '(1, 2): bc'
console.log('(-3, 2): '  + str.substr(-3, 2));  // '(-3, 2): hi'
console.log('(-3): '     + str.substr(-3));     // '(-3): hij'
console.log('(1): '      + str.substr(1));      // '(1): bcdefghij'
console.log('(-20, 2): ' + str.substr(-20, 2)); // '(-20, 2): ab'
console.log('(20, 2): '  + str.substr(20, 2));  // '(20, 2): '

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي نعم نعم نعم نعم نعم

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