كيفية مقارنة السلاسل غير الحساسة لحالة الأحرف في JavaScript

Kyfyt Mqarnt Alslasl Ghyr Alhsast Lhalt Alahrf Fy Javascript



أثناء كتابة الكود ، قد يحتاج المطور غالبًا إلى مقارنة سلسلتين لضمان إكمال مهام معينة. تُعرف مقارنة السلاسل دون الالتفات إلى حالاتها مثل الأحرف الكبيرة والصغيرة بأنها مقارنة غير حساسة لحالة الأحرف. تدعم العديد من اللغات مقارنة السلسلة مع حساسية حالة الأحرف وعدم الحساسية.

ستوضح هذه المقالة طرق مقارنة السلاسل في JavaScript غير الحساسة لحالة الأحرف.







كيفية مقارنة السلاسل غير الحساسة لحالة الأحرف في JavaScript؟

لمقارنة السلاسل غير الحساسة لحالة الأحرف في JavaScript ، استخدم الطرق المحددة مسبقًا التالية:



    • طريقة localeCompare ()
    • طريقة toUpperCase () و toLowerCase ()
    • التعبير العادي باستخدام أسلوب الاختبار ()

دعونا نلقي نظرة على عمل كل من الأساليب المذكورة أعلاه على حدة.



الطريقة 1: مقارنة السلاسل غير الحساسة لحالة الأحرف باستخدام أسلوب LocaleCompare ()

تستخدم المقارنة غير الحساسة لحالة الأحرف ' localeCompare () ' طريقة. تقوم هذه الطريقة بإرجاع رقم (موجب أو سالب أو صفر). تتم مقارنة السلاسل بترتيب فرز ، إذا كانت السلسلة المرجعية أطول من سلسلة المقارنة أو تأتي بعد السلسلة المقارنة ، فإنها تعطي رقمًا موجبًا. إذا كانت السلسلة المرجعية أقصر ، أو تأتي قبل السلسلة المقارنة ، فإنها تُرجع رقمًا سالبًا. يجب إرجاع صفر إذا كانت السلسلة المرجعية معادلة للسلسلة المقارنة.





بناء الجملة

اتبع بناء الجملة المقدم لطريقة localeCompare ():



السلسلة1.localeCompare ( سلسلة 2 ، لغات ، خيارات )


هنا،

    • ' سلسلة 2 'هي سلسلة المقارنة ، حيث سيتم مقارنة السلسلة 1.
    • ' محلي 'هي علامة اللغة.
    • ' والخيارات 'هي اللغة التي يوفرها المستخدم أثناء العمل معها.

مثال

إنشاء سلسلتين ' سلسلة 1 ' و ' سلسلة 2 '، مع سلاسل' لينوكسينت ' و ' LinuxHint ' على التوالى:

var string1 = 'لينوكس' ؛
سلسلة var2 = 'LinuxHint' ؛


قارن سلسلة 1 مع سلسلة 2 باستخدام “ localeCompare () 'الطريقة وتخزين النتيجة في متغير' شركات '. سيتم تعيين الوسيطة الثالثة للطريقة على أنها ' الحساسية: 'القاعدة' 'الذي يشير إلى أن الأحرف الأساسية للسلاسل المقارنة ليست مختلفة:

var comp = string1.localeCompare ( سلسلة 2 ، غير محددة ، { حساسية: 'قاعدة' } )


في العبارة الشرطية ، تحقق مما إذا كانت القيمة التي تم إرجاعها لطريقة localeCompare () تساوي الصفر ، فهي تطبع ' السلاسل متساوية '، آخر، ' السلاسل ليست متساوية ':

إذا ( شركات == 0 ) {
وحدة التحكم ( 'السلاسل متساوية' ) ؛
} آخر {
وحدة التحكم ( 'السلاسل ليست متساوية' ) ؛
}


انتاج |

الطريقة 2: مقارنة السلسلة غير الحساسة لحالة الأحرف باستخدام أسلوب toUpperCase () و toLowerCase ()

الأساليب الأكثر استخدامًا لمقارنة السلاسل غير الحساسة لحالة الأحرف هي طريقة toUpperCase () أو طريقة toLowerCase (). يقومون بتحويل السلاسل إلى أحرف كبيرة أو صغيرة ثم يقارنونها بمساعدة عوامل المساواة الصارمة.

بناء الجملة

بالنسبة إلى طريقة toUpperCase () ، استخدم الطريقة التالية:

السلسلة ( ) ؛


استخدم الصيغة أدناه لطريقة toLowerCase ().

السلسلة. toLowerCase ( ) ؛


مثال: مقارنة السلاسل غير الحساسة لحالة الأحرف باستخدام طريقة toUpperCase ()

ضع في اعتبارك السلاسل التي تم إنشاؤها أعلاه ' سلسلة 1 ' و ' سلسلة 2 'ثم قارنهم باستخدام طريقة toUpperCase () مع عامل المساواة الصارم:

إذا ( السلسلة1.toUpperCase ( ) === string2.toUpperCase ( ) ) {
وحدة التحكم ( 'السلاسل متساوية' ) ؛
} آخر {
وحدة التحكم ( 'السلاسل ليست متساوية' ) ؛
}


يشير الإخراج إلى أن كلا السلاسل متساوية من خلال تجاهل الحالة:


مثال: مقارنة السلاسل غير الحساسة لحالة الأحرف باستخدام طريقة toLowerCase ()

هنا ، تتم مقارنة السلاسل باستخدام طريقة toLowerCase () التي ستحول السلاسل أولاً إلى أحرف صغيرة ثم مقارنتها باستخدام عامل التشغيل ===:

إذا ( string1.toLowerCase ( ) === string2.toLowerCase ( ) ) {
وحدة التحكم ( 'السلاسل متساوية' ) ؛
} آخر {
وحدة التحكم ( 'السلاسل ليست متساوية' ) ؛
}


سيكون الإخراج المقابل:

الطريقة الثالثة: مقارنة السلاسل غير الحساسة لحالة الأحرف باستخدام التعبير العادي مع أسلوب الاختبار ()

جافا سكريبت المحدد مسبقًا ' اختبار() '، الذي يستخدم تعبيرًا عاديًا ، طريقة أخرى لمقارنة سلسلتين. استنادًا إلى regex المحدد ، فإنه يحدد ما إذا كانت السلاسل متساوية أم لا.

بناء الجملة

اتبع بناء الجملة المحدد لاستخدام تعبير عادي لمقارنة السلاسل:

RegExp ( سلسلة، 'جي' )


هنا،

    • ' RegExp ' تمثل ' تعبير عادي '.
    • ' ز 'هو المتغير الشامل الذي يسمح بفحص جميع السلاسل النصية.
    • ' أنا 'هو متغير علم يشير إلى أنه يجب تجاهل الحالة أثناء استخدام سلسلة لمطابقة النمط.

مثال

أولاً ، أنشئ كائنًا جديدًا من RegExp () عن طريق تمرير سلسلة والتعبير العادي كوسيطة:

var comp = RegExp جديد ( سلسلة 1 ، 'جي' ) ؛


قارن السلاسل باستخدام طريقة الاختبار ():

إذا ( اختبار شركات ( سلسلة 2 ) ) {
وحدة التحكم ( 'السلاسل متساوية' ) ؛
} آخر {
وحدة التحكم ( 'السلاسل ليست متساوية' ) ؛
}


انتاج |

استنتاج

لمقارنة السلاسل غير الحساسة لحالة الأحرف في JavaScript ، استخدم أساليب JavaScript المحددة مسبقًا بما في ذلك طريقة localeCompare () أو طريقة toUpperCase () و toLowerCase () أو طريقة الاختبار () مع التعبير العادي. الأسلوبان 'toUpperCase () و toLowerCase ()' هما الأسلوبان الأكثر استخدامًا لمقارنة سلسلتين غير حساستين لحالة الأحرف. توضح هذه المقالة الطرق المختلفة للمقارنة غير الحساسة لحالة الأحرف بين السلاسل في JavaScript.