วิธีเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์ใน JavaScript

Withi Periyb Theiyb String Thi Mi Khanung Thung Khnad Taw Phimph Ni Javascript



ขณะเขียนโค้ด นักพัฒนามักจะต้องเปรียบเทียบสองสตริงเพื่อให้แน่ใจว่างานที่เฉพาะเจาะจงเสร็จสมบูรณ์ การเปรียบเทียบสตริงโดยไม่ให้ความสนใจกับตัวพิมพ์ เช่น ตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก เรียกว่าการเปรียบเทียบแบบไม่คำนึงถึงขนาดตัวพิมพ์ หลายภาษารองรับการเปรียบเทียบสตริงด้วยความละเอียดอ่อนของตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

บทความนี้จะอธิบายวิธีการเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์ใน JavaScript







จะเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์ใน JavaScript ได้อย่างไร

สำหรับการเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์ใน JavaScript ให้ใช้เมธอดที่กำหนดไว้ล่วงหน้าต่อไปนี้:



    • localeCompare() วิธีการ
    • toUpperCase() และ toLowerCase() method
    • นิพจน์ปกติด้วยเมธอด test()

มาดูการทำงานของแต่ละแนวทางที่กล่าวถึงข้างต้นแยกกัน



วิธีที่ 1: การเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์โดยใช้ LocaleCompare() Method

การเปรียบเทียบสตริงที่ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ใช้ ' localeCompare() ' กระบวนการ. วิธีนี้จะคืนค่าตัวเลข (บวก ลบ หรือศูนย์) สตริงจะถูกเปรียบเทียบในลำดับการจัดเรียง หากสตริงอ้างอิงยาวกว่าสตริงเปรียบเทียบหรืออยู่หลังสตริงที่เปรียบเทียบ สตริงนั้นจะเป็นค่าบวก ถ้าสตริงอ้างอิงสั้นกว่าหรือมาก่อนสตริงที่เปรียบเทียบ จะส่งกลับค่าลบ ควรคืนค่าศูนย์หากสตริงอ้างอิงเทียบเท่ากับสตริงที่เปรียบเทียบ





ไวยากรณ์

ทำตามไวยากรณ์ที่ให้มาสำหรับวิธี localeCompare():



string1.localeCompare ( string2, สถานที่, ตัวเลือก )


ที่นี่,

    • string2 ” คือสตริงเปรียบเทียบ โดยที่สตริง 1 จะถูกเปรียบเทียบ
    • ท้องถิ่น ” คือแท็กภาษา
    • ตัวเลือก ” คือตำแหน่งที่ผู้ใช้ให้ไว้ในขณะที่ทำงานกับมัน

ตัวอย่าง

สร้างสองสตริง “ string1 ' และ ' string2 ” กับสตริง “ linuxhint ' และ ' Linuxคำแนะนำ ” ตามลำดับ:

var string1 = 'ลินุกซ์' ;
var string2 = 'คำแนะนำลินุกซ์' ;


เปรียบเทียบ string1 กับ string2 โดยใช้ “ localeCompare() ” วิธีการและเก็บผลลัพธ์ไว้ในตัวแปร “ คอมพ์ ” อาร์กิวเมนต์ที่สามของวิธีการจะตั้งค่าเป็น “ ความไว: 'ฐาน' ” ที่ระบุว่าสตริงที่เปรียบเทียบตัวอักษรฐานไม่แตกต่างกัน:

var comp = string1.localeCompare ( string2, ไม่ได้กำหนด, { ความไว: 'ฐาน' } )


ในคำสั่งแบบมีเงื่อนไข ให้ตรวจสอบว่าค่าที่ส่งคืนของวิธี localeCompare() มีค่าเท่ากับศูนย์หรือไม่ โดยจะพิมพ์ว่า ' สตริงมีค่าเท่ากัน ', อื่น, ' สตริงไม่เท่ากัน ”:

ถ้า ( คอมพ์ == 0 ) {
console.log ( 'สตริงมีค่าเท่ากัน' ) ;
} อื่น {
console.log ( 'สตริงไม่เท่ากัน' ) ;
}


เอาท์พุต

วิธีที่ 2: การเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์โดยใช้วิธี toUpperCase() และ toLowerCase()

วิธีที่ใช้มากที่สุดในการเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์คือวิธี toUpperCase() หรือวิธี toLowerCase() พวกเขาแปลงสตริงเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กแล้วเปรียบเทียบกับตัวดำเนินการความเท่าเทียมกันที่เข้มงวด

ไวยากรณ์

สำหรับเมธอด toUpperCase() ให้ใช้วิธีการต่อไปนี้:

string.toUpperCase ( ) ;


ใช้ไวยากรณ์ด้านล่างสำหรับเมธอด toLowerCase()

string.toLowerCase ( ) ;


ตัวอย่าง: การเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์โดยใช้วิธี toUpperCase()

พิจารณาสตริงที่สร้างขึ้นข้างต้น “ string1 ' และ ' string2 ” จากนั้นเปรียบเทียบโดยใช้วิธี toUpperCase() กับตัวดำเนินการความเท่าเทียมกันที่เข้มงวด:

ถ้า ( string1.toUpperCase ( ) === string2.toUpperCase ( ) ) {
console.log ( 'สตริงมีค่าเท่ากัน' ) ;
} อื่น {
console.log ( 'สตริงไม่เท่ากัน' ) ;
}


ผลลัพธ์ระบุว่าสตริงทั้งสองมีค่าเท่ากันโดยไม่สนใจตัวพิมพ์เล็กและตัวพิมพ์ใหญ่:


ตัวอย่าง: การเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์โดยใช้วิธี toLowerCase()

ที่นี่ สตริงจะถูกเปรียบเทียบโดยใช้เมธอด toLowerCase() ที่จะแปลงสตริงเป็นตัวพิมพ์เล็กก่อน จากนั้นจึงเปรียบเทียบโดยใช้ตัวดำเนินการ ===:

ถ้า ( string1.toLowerCase ( ) === string2.toLowerCase ( ) ) {
console.log ( 'สตริงมีค่าเท่ากัน' ) ;
} อื่น {
console.log ( 'สตริงไม่เท่ากัน' ) ;
}


ผลลัพธ์ที่สอดคล้องกันจะเป็น:

วิธีที่ 3: การเปรียบเทียบสตริงที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่โดยใช้นิพจน์ปกติด้วยการทดสอบ () วิธี

JavaScript ที่กำหนดไว้ล่วงหน้า “ ทดสอบ() ” ซึ่งใช้นิพจน์ทั่วไปเป็นอีกวิธีหนึ่งในการเปรียบเทียบสองสตริง ตาม regex ที่ระบุ จะกำหนดว่าสตริงเท่ากันหรือไม่

ไวยากรณ์

ทำตามไวยากรณ์ที่กำหนดสำหรับการใช้นิพจน์ทั่วไปเพื่อเปรียบเทียบสตริง:

RegExp ( สตริง 'จิ' )


ที่นี่,

    • RegExp ' หมายถึง ' นิพจน์ทั่วไป
    • g ” เป็นตัวแปรส่วนกลางที่ช่วยให้ตรวจสอบสตริงทั้งหมดได้
    • ผม ” เป็นตัวแปรแฟล็กที่ระบุว่ากรณีควรละเว้นในขณะที่ใช้สตริงเพื่อให้ตรงกับรูปแบบ

ตัวอย่าง

ขั้นแรก สร้างวัตถุใหม่ของ RegExp() โดยส่งสตริงและนิพจน์ทั่วไปเป็นอาร์กิวเมนต์:

var comp = ใหม่ RegExp ( สตริง1, 'จิ' ) ;


เปรียบเทียบสตริงโดยใช้เมธอด test()

ถ้า ( comp.test ( string2 ) ) {
console.log ( 'สตริงมีค่าเท่ากัน' ) ;
} อื่น {
console.log ( 'สตริงไม่เท่ากัน' ) ;
}


เอาท์พุต

บทสรุป

หากต้องการเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์ใน JavaScript ให้ใช้เมธอดที่กำหนดไว้ล่วงหน้าของ JavaScript รวมถึงเมธอด localeCompare(), เมธอด toUpperCase() และ toLowerCase() หรือเมธอด test() ที่มีนิพจน์ทั่วไป วิธีการ “toUpperCase() และ toLowerCase()” เป็นวิธีที่ใช้มากที่สุดในการเปรียบเทียบสตริงที่ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ บทความนี้แสดงวิธีต่างๆ สำหรับการเปรียบเทียบสตริงที่ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ใน JavaScript