RegExp.prototype.sticky

من موسوعة حسوب

الخاصية 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.

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