‎‎جستجوي رشته اي جاوااسكريپتJavaScript String Serch -‎

Previous >    <Next  

‎‎متدهاي رشته اي جستجوString Serch Methods -‎

‎‎متد هاي رشته اي جستجو در جاوااسكريپت مطابق زيراست:

‎‎متدرشته اي‎indexOf()‎ ‎جاوااسكريپت

‎‎متد‎indexOf()‎‎ اولين موقعيت عبارت جستجو را در رشته برگشت ميدهد.

‎‎مثال ـ جستجو با متد‎indexOf()‎

let text = "Please locate where 'locate' occurs!";
let index = text.indexOf("locate");

--(go to editor for change code and run)

‎‎درمثال بالا متد اولين موقعيت‎"locate‎"‎را در رشته text پيدا نموده وبرگشت ميدهد .

‎توجه ـ جاوااسكريپت موقعيت كراكتر رشته را از صفر مي شمارد .يعني صفر اولين موقعيت در رشته ‎بحساب مي آيد .بهمين ترتيب دومين آن يك وسومين آن دو ميباشد.

<>‎

‎‎متد‎lastIndexOf()‎‎ جستجو در جااسكريپت

‎‎متد‎lastIndexOf()‎‎ آخرين موقعيت تطبيق عبارت جستجو را در رشته برگشت ميدهد

‎‎مثال ـlastIndexOf()‎ پيدا نمودن موقعيت تطبيق آخر

let text = "Please locate where 'locate' occurs!";
let index = text.lastIndexOf("locate");

--(go to editor for change code and run)

‎هر دو متد جستجوي‎indexOf()‎ , lastIndexOf()‎‎ در صورتيكه مورد جستجو را پيدا ‎نكنند،عدد‎-‎1‎ برگشت ميدهند .

‎‎مثال ـ نمونه عدم وجود مورد جستجو، برگشت عدد-‎1

let text = "Please locate where 'locate' occurs!";
let index = text.lastIndexOf("John");

--(go to editor for change code and run)

‎هردو متد فوق داراي پارامتر شروع موقعيت براي جستجو هستند .پارامتر دوم آنها براي اعلام شروع ‎جستجواست .در صورتيكه اعلام نشود، صفر در نظر گرفته ميشود.

‎‎مثال ـ اعلام پارامتر شروع جستجو

let text = "Please locate where 'locate' occurs!";
let index = text.indexOf("locate", 15);

--(go to editor for change code and run)

‎روش جستجوي متد‎lastIndexOf()‎‎ ازانتها به ابتداست يا بعقب است، بدين معني اگر ‎پارامتر شروع15 اعلام شود، جستجو ازموقعيت فوق تا صفر ميابشد.

‎‎مثال ـ نمونه براي متد‎lastIndexOf()‎‎ با پارامتر شروع

let text = "Please locate where 'locate' occurs!";
text.lastIndexOf("locate", 15);

--(go to editor for change code and run)

‎‎متدرشته اي‎serch()‎‎ در جاوااسكريپت

‎متد‎serch()‎‎ عبارتي را در رشته اي جستجومي نمايد وموقعيت آنرا برگشت ميدهد . ‎عبارت جستجو مي تواند، يك عبارت منظم هم باشد.

‎‎مثال ـ نمونه جستجو با متدserch()‎

let text = "Please locate where 'locate' occurs!";
text.search("locate");

--(go to editor for change code and run)

‎‎مثال ـ متدserch()‎ با جستجوي عبارت منظم

let text = "Please locate where 'locate' occurs!";
text.search(/locate/);

--(go to editor for change code and run)

‎‎آيا به تشابه وتفاوت هاي اين دو متد‎indexOf()‎ , serch()‎‎ توجه نموديد .

‎‎آنها داراي پارامترهاي مشابه و مقدار برگشتي يكسان هستند .اما بدلايل زيربا هم متفاوتند.

‎‎در فصل هاي بعدي در مورد عبارت منظم در جستجو مطالب بيشتري ارائه ميگردد.

‎‎متد رشته اي‎match()‎‎در جاوااسكريپت

‎متد رشته اي‎match()‎ ‎در جستجوي عبارتي در رشته، ازنتايج جستجوآرايه اي را برگشت ‎ميدهد .بجاي عبارت ساده جستجو، ميتواند عبارت منظم باشد.

‎‎مثال ـ اقدام جستجو براي‎"ain‎"‎

let text = "The rain in SPAIN stays mainly in the plain";
text.match("ain"); 

--(go to editor for change code and run)

‎‎مثال ـ اقدام جستجو براي‎"ain‎"‎با عبارت منظم

 let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/);

--(go to editor for change code and run)

‎‎مثال ـ جستجوي تمام موارد تطبيق‎"ain‎"‎با عبارت منظم

let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/g); 

--(go to editor for change code and run)

‎‎مثال ـ جستجوي جهاني‎"ain‎"‎وبدون حساسيت حروف

let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/gi);

--(go to editor for change code and run)

‎توجه ـ اگر عبارت منظم براي جستجو با متد فوق داراي فلگg نباشد، نتجه فقط اولين مورد تطبيق ‎برگشت ميشود.

‎‎متد رشته اي‎matchALL()‎‎ جاوااسكريپت

‎متد‎matchALL()‎‎ تما موارد تطبيق عبارت جستجو را در يك آرايه برگشت ميدهد . ‎عبارت جستجو ميتواند عبارت منظم باشد.

‎‎مثال ـ جستجوي همه موارد‎"Cats‎"‎

const iterator = text.matchAll("Cats");

--(go to editor for change code and run)

‎‎اگر پارامتر جستجو عبارت منظم باشد، بايد بافلگg تنظيم شود، در غير اين حالت خطا ايجاد ميشود

‎‎مثال ـ جستجو باعبارت منظم

const iterator = text.matchAll(/Cats/g);

--(go to editor for change code and run)

‎اگر بخواهيد جستجو بدون حساسيت حروف داشته باشيد، ازفلگ‎i‎ در عبارت منظم ‎استفاده كنيد.

‎‎مثال ـ جستجوي همه موارد‎"Cats‎"‎بدون حساسيت حروف

onst iterator = text.matchAll(/Cats/gi);

--(go to editor for change code and run)

‎‎نكات ـ‎matchALL()‎‎ از امكاناتES2020 و در اينترنت اكسپلورر كار نميكند.

‎‎متد رشته اي‎includes( )‎ در جاوااسكريپت

‎متد رشته اي‎include( ) ‎نتجه درست‎(true)‎ را در صورتيكه مقدار مشخص ‎در رشته وجود داشته باشد، برگشت ميدهد .درغيراينصورتfalse

‎‎مثال ـ كنترل وجود‎"world‎"‎در رشته

let text = "Hello world, welcome to the universe.";
text.includes("world");

--(go to editor for change code and run)

‎‎مثال ـ كنترل وجود‎"world‎"‎از موقعيت12

let text = "Hello world, welcome to the universe.";
text.includes("world", 12);

--(go to editor for change code and run)

‎نكات ـ متد‎include( )‎ ازامكاناتES6 است .اين متد با حساسيت حروف كار ميكند. ‎در اينترنت اكسپلورر كار نميكند.

‎‎متد رشته اي‎startWith( )‎ جاوااسكريپت

‎متد‎startWith( )‎ در صورتيكه عبارت جستجو در ابتداي رشته باشد، نتيجه true ‎برگشت ميدهد، درغيرايصورتfalse

‎‎مثال ـ نتيجهtrue

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello");

--(go to editor for change code and run)

‎‎مثال ـ نتيجهfalse

let text = "Hello world, welcome to the universe.";
text.startsWith("world")

--(go to editor for change code and run)

‎‎مثال ـ موقعيت شروع براي كنترل، نتيجهfalse

let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)

--(go to editor for change code and run)

‎‎مثال ـ كنترل با موقعيت شروع ، نتيجهtrue

let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)

--(go to editor for change code and run)

‎نكات ـ متد‎startWith( )‎ ازامكاناتES6 است .اين متد با حساسيت حروف كار ‎ميكنند .در اينترنت اكسپلورر كار نميكند.

‎‎متد رشته اي‎endsWith( )‎ در جاوااسكريپت

‎متد‎endstWith( )‎ در صورتيكه عبارت جستجو در انتهاي رشته باشد، نتيجهtrue ‎برگشت ميدهد، درغيرايصورتfalse

‎‎مثال ـ كنترل وجود‎"Doe‎"‎در انتهاي رشته

let text = "John Doe";
text.endsWith("Doe");

--(go to editor for change code and run)

‎‎مثال ـ كنترل وجود‎"world‎"‎در انتهاي11 كراكتر اول رشته

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11);

--(go to editor for change code and run)

‎نكات ـ متد‎endsWith( )‎ ازامكاناتES6 است .اين متد با حساسيت حروف كار ميكند. ‎در اينترنت اكسپلورر كار نميكند.


Previous >    <Next