بحث كلمات JavaScript

هذه هي طرق JavaScript المستخدمة للبحث في النص

  • String.indexOf()
  • String.lastIndexOf()
  • String.startsWith()
  • String.endsWith()

String.indexOf()

indexOf() يستخدم هذا الطريقة لتسجيل النص المحدد في النصمرة الأولىيظهر (الموقع) المطلوب هو

مثال

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate")    // يعود 7

جرب بنفسك

يبدأ حساب الموقع في JavaScript من الصفر.

الرقم 0 هو الموقع الأول في النص،1 هو الثاني،2 هو الثالث......

String.lastIndexOf()

lastIndexOf() تقوم الطريقة بالرجوع إلى الموقع الأخير لتقديم النص المحدد في النص.

مثال

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate")    // يعود بـ 21

جرب بنفسك

إذا لم يتم العثور على النص،indexOf() و lastIndexOf() كلتاهما تعودان بـ -1:

مثال

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("Bill")    // يعود بـ -1

جرب بنفسك

هاتان الطريقتان تقبلا المعامل الثاني كمعامل بداية البحث:

مثال

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate", 15)    // يعود بـ 21

جرب بنفسك

lastIndexOf() تقوم الطريقة بالبحث للخلف (من النهاية إلى البداية)، مما يعني أن إذا كان المعامل الثاني هو 15، إذا كان من الممكن، تبدأ البحث من الموقع 15 وتستمر حتى بداية النص.

مثال

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate", 15)    // يعود بـ 7

جرب بنفسك

String.search()

search() تقوم الطريقة بالبحث عن القيمة المحددة في النص وتقديم موقعها.

مثال

let str = "Please locate where 'locate' occurs!";
str.search("locate")     // يعود بـ 7

جرب بنفسك

هل لاحظت؟

indexOf() و search() هل هاتان الطريقتان متساويتان؟

هل تتساويا؟ هل تقبلا نفس المعاملين وتقديماً نفس القيم؟

هذه الطريقتان ليست متساويتين. الفرق بينهما كالتالي:

  • search() لا يمكن للطريقة أن تأخذ ثاني معامل بداية البحث.
  • indexOf() لا يمكن للطريقة أن تأخذ قيمة البحث القوية (تعبير عشوائي).

ستتعلم عن تعبيرات العشوائية أكثر في الفصول القادمة.

String.match()

طريقة match() تقوم بالبحث عن الصفوف في النص بناءً على تعبير العشوائي، وتقوم بتقديم الصفوف كعنصر من نوع Array.

مثال 1

البحث في النص عن "ain":

let text = "alrassad fi alMalk alArab tahsul fi alwadiyya";
text.match(/ain/g)    // يعود بحزمة [ain,ain,ain]

جرب بنفسك

يرجى التعلم عن تعبيرات العشوائية في فصل JS RegExp.

إذا لم يحتوي التعبير العشوائي على الحرف g المميز (البحث الكامل)، فإن طريقة match() ستقوم فقط بتقديم الصفيه الأول الذي يتم العثور عليه في النص.

النحو

string.match(regexp)
regexp مطلوب. القيمة التي يجب البحث عنها، هي تعبير عشوائي.
الإرجاع: مجموعة، تحتوي على الصفوف، كل صفيه يمثل عنصراً، إذا لم يتم العثور على أي صفيه، فيمكن أن يكون null.

مثال 2

bashshukran li "ain" bishkurar alkabirah alhasanah:

let text = "alrassad fi alMalk alArab tahsul fi alwadiyya";
text.match(/ain/gi)   // يعود مصفوفة [ain, AIN, ain, ain]

جرب بنفسك

String.includes()

إذا كان النص يحتوي على القيمة المحددة،includes() يستعيد الطريقة صحيح.

مثال

let text = "Hello world, welcome to the universe.";
text.includes("world")    // يعود صحيح

جرب بنفسك

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

Internet Explorer لا يدعم String.includes().

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 40 Safari 9 Opera 28
2015 مارس 2015 يوليو 2015 أغسطس 2015 أكتوبر 2015 مارس

النحو

string.includes(searchvalue, start)
searchvalue مطلوب. النص الذي يجب البحث عنه.
start اختياري. افتراضيًا 0. موقع البداية للبحث.
الإرجاع: إذا كان النص يحتوي على القيمة المحددة، صحيح، وإلا يعود غير صحيح.
إصدار JS: ES6 (2015)

تحقق مما إذا كان النص يحتوي على "world"، من موقع البحث 12:

let text = "Hello world, welcome to the universe.";
text.includes("world", 12)    // يعود خطأ

جرب بنفسك

String.startsWith()

إذا كان النص يبدأ بالقيمة المحددة، startsWith() يستعيد الطريقة صحيح، وإلا يعود غير صحيح:

مثال

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // يعود صحيح

جرب بنفسك

النحو

string.startsWith(searchvalue, start)

قيمة المعلمة

المعلمة الوصف
searchvalue مطلوب. القيمة التي يجب البحث عنها.
start اختياري. افتراضيًا 0. موقع البداية للبحث.

مثال

let text = "Hello world, welcome to the universe.";
text.startsWith("world")    // يعود خطأ
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)    // يعود خطأ
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)    // يعود صحيح

جرب بنفسك

ملاحظة:startsWith() الطريقة تفرق بين الحروف الكبيرة والصغيرة.

Internet Explorer لا يدعم startsWith() الطريقة.

أول إصدار متوافق تمامًا من المتصفح هو:

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 17 Safari 9 Opera 28
2015 مارس 2015 يوليو 2015 أغسطس 2015 أكتوبر 2015 مارس

String.endsWith()

إذا كان النص ينتهي بالقيمة المحددة، endsWith() يستعيد الطريقة صحيح، وإلا يعود غير صحيح:

مثال

تحقق مما إذا كان النص ينتهي بـ "Gates":

var text = "Bill Gates";
text.endsWith("Gates")    // يعود صحيح

جرب بنفسك

النحو

string.endsWith(searchvalue, length)

قيمة المعلمة

المعلمة الوصف
searchvalue مطلوب. القيمة التي يجب البحث عنها.
length اختياري. طول البحث المطلوب.

استرجاع الأحرف الأولى 11 من النص الذي ينتهي بـ "world":

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11)    // عودة true

جرب بنفسك

ملاحظة:endsWith() الطريقة تفرق بين الحروف الكبيرة والصغيرة.

Internet Explorer لا يدعم endsWith() الطريقة.

أول إصدار من متصفح يدعم هذه الطريقة هو:

Chrome IE Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
مايو 2016 أبريل 2017 يونيو 2017 سبتمبر 2016 يونيو 2016

مرجع String الكامل

للحصول على مرجع كامل، يرجى زيارة دليل مرجع String JavaScript.

يحتوي هذا الدليل على وصف جميع خصائص وطرق String و أمثلة.