RegExp.prototype.sticky

من موسوعة حسوب
< JavaScript‏ | RegExp
مراجعة 15:44، 28 يناير 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

الخاصية RegExp.prototype.sticky تُشير إذا كانت الراية "y" مضبوطةً في التعبير النمطي أم لا (أي أنَّ البحث سيبدأ من الفهرس المُشار إليه بالخاصية lastIndex التابعة للتعبير النمطي). لاحظ أنَّ الخاصية sticky تختلف من كائن RegExp إلى آخر وهي قابلة للقراءة فقط.

سمات الخاصية RegExp.prototype.sticky
قابلة للكتابة لا
قابلة للإحصاء لا
قابلة للضبط نعم

الوصف

قيمة الخاصية sticky هي قيمةٌ منطقيةٌ (Boolean)، إذ ستُعيد true إذا كانت الراية "y" مستخدمةً، وإلا فستُعيد false. لا يمكن تعديل قيمة هذه الخاصية مباشرةً.

الراية "y" تُشير إلى أنَّ المطابقات ستبدأ من الفهرس الموجود في خاصية lastIndex التابعة للتعبير النمطي (ولن تتم محاولة البحث فيما قبل هذا الفهرس). لاحظ أنَّه إذا كان التعبير النمطي عامًّا (global أي "g") وثابتًا (sticky أي "y") فسيتم تجاهل الراية "g".

أمثلة

مثال عن تعبيرٍ نمطيٍ مع الراية "y":

var str = '#foo#';
var regex = /foo/y;

regex.lastIndex = 1;
regex.test(str); // true
regex.lastIndex = 5;
regex.test(str); // false
regex.lastIndex; // 0 (سيُعاد ضبط القيمة بعد فشل المطابقة)

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

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي 49 3 غير مدعومة 36 10

على النقيض من متصفح IE، يدعم Edge هذه الميزة بدءًا من الإصدار 13.

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