كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة فرعية في JavaScript

تقدم JavaScript طرقًا عديدة للتحقق مما إذا كانت السلسلة تحتوي على سلسلة فرعية. تعرف على الطريقة الأساسية ، واكتشف أيضًا جميع الخيارات المتاحة لك باستخدام JavaScript عادي

يعد التحقق مما إذا كانت السلسلة تحتوي على سلسلة فرعية واحدة من أكثر المهام شيوعًا في أي لغة برمجة.


تقدم JavaScript طرقًا مختلفة لإجراء هذه العملية.

أبسط واحد ، وكذلك المتعارف عليه في المستقبل ، هو استخدام ملفincludes()طريقة على سلسلة:

'a nice string'.includes('nice') //true

تم تقديم هذه الطريقة فيES6 / ES2015.

إنه مدعوم في جميع المتصفحات الحديثة باستثناء Internet Explorer:

Browser Support for includes

لاستخدامه على جميع المتصفحات ، استخدمPolyfill.ioأو بوليفيل آخر مخصص.

includes()يقبل أيضًا معلمة ثانية اختيارية ، وهي عدد صحيح يشير إلى الموضع الذي تبدأ فيه البحث عن:

'a nice string'.includes('nice') //true
'a nice string'.includes('nice', 3) //false
'a nice string'.includes('nice', 2) //true

يتضمن بديل ما قبل ES6 ():indexOf()

قبل ES6 ، كانت الطريقة الشائعة للتحقق مما إذا كانت السلسلة تحتوي على سلسلة فرعية هي استخدامهاindexOf، وهي طريقة سلسلة ترجع -1 إذا كانت السلسلة لا تحتوي على السلسلة الفرعية. إذا تم العثور على السلسلة الفرعية ، فإنها تُرجع فهرس الحرف الذي يبدأ السلسلة.

يحبincludes()، تحدد المعلمات الثانية نقطة البداية:

'a nice string'.indexOf('nice') !== -1 //true
'a nice string'.indexOf('nice', 3) !== -1 //false
'a nice string'.indexOf('nice', 2) !== -1 //true

المزيد من دروس js: