如何在 JavaScript 中進行區分大小寫的字串比較?


本教程將指導您學習在 JavaScript 中進行區分大小寫的字串比較。

JavaScript 區分大小寫。JavaScript 中的關鍵字、變數、函式名和任何識別符號必須使用所需的案例。例如,關鍵字 for 不能寫成 ForFOR

JavaScript 中的字串是什麼?字串是一個或多個字元的集合,這些字元可以是字母、數字或符號。字串是 JavaScript 中不可變的原始資料型別,這意味著它們永遠不會改變。文字可以使用 JavaScript 字串進行儲存和修改。任何用引號括起來的任意數量的字元都是 JavaScript 字串。

我們如何在 JavaScript 中進行字串比較?“嚴格相等運算子 (===)”用於根據字串的值和字元大小寫進行字串比較。“比較運算子”與“length”屬性一起使用,可以根據字串的長度進行比較。使用“localeCompare()”方法,可以根據字母順序比較字串。

使用嚴格相等運算子 (===)

在這裡,字串被比較以檢查精確匹配。“===”嚴格相等運算子通常用於比較兩個字串運算元的值。由於它嚴格地比較字串的值,而不會將它們轉換為公共型別,因此名稱“嚴格”將它與相等運算子“==”區分開來。

當 undefined 或 null 與其他值進行比較時,會出現非直觀的行為。對於嚴格相等檢查,這些值是不同的,因為每個值都有唯一的型別。(null === undefined) 返回 false

語法

if (str1 === str2) {
   return true;
} else {
   return false;

這裡,只有當 str1 完全等於 str2 時,if 塊才會執行。條件返回布林值。

演算法

步驟 1 - 定義兩個字串 - str1str2

步驟 2 - 檢查第一個字串 str1 是否完全等於另一個字串 str2

步驟 3 - 根據條件檢查結果,顯示所需輸出。

示例 1

在下面的示例中,我們比較兩個字串 - “Tutorials Point”“Tutorials Point”。我們定義一個函式 “compare()” 來比較兩個字串 ‘str1’ 和 ‘str2’。我們使用嚴格不等式來比較字串。

<html> <body> <h4> Case-sensitive string comparison in JavaScript</h4> <p id="result1"> </p> <p id="result2"> </p> <p id="result3"> </p> <script> function compare(str1, str2){ if (str1 === str2 ) { return true; } else { return false; } } var str1 = "Tutorials Point"; var str2 = "Tutorials point"; document.getElementById("result1").innerHTML = str1 document.getElementById("result2").innerHTML = str2 document.getElementById("result3").innerHTML = compare(str1, str2) </script> </body> </html>

應用 normalize() 方法

在下面的示例中,我們將看到組合字元的情況。這些字元新增到基於前例的字元中。這種組合會建立音素。例如,帶重音符的 e ` 給出 é。這是一個音素。在 JavaScript 中,此字元顯示如下。

const str1 = 'e\u0301';
console.log(str1); // é

這裡,\u0301 是重音符字元的 Unicode 轉義序列,它是一個組合字元。如果我們像下面這樣比較,我們將得到 false 作為輸出,這意味著字串不相等,儘管它們實際上相等。

const str1 = 'e\u0301';
const str2 = 'é';
console.log(str1 === str2); // false

因此,為了安全地比較字串,我們使用 normalize() 方法。此方法提供字串的規範化 Unicode。

此規範化字串可以與嚴格相等進行比較,如下所示。

const str1 = 'e\u0301';
const str2 = 'é';
console.log(str1.normalize() === str2.normalize()); // true

示例 2

在下面的示例中,我們比較兩個字串 - 'e\u0301' 和 'é'。我們規範化字串,然後使用嚴格不等式進行比較。

<html> <body> <h4> Case-sensitive string comparison after normalize the string</h4> <p id="result1"> </p> <p id="result2"> </p> <p id="result3"> </p> <script> function compare(str1, str2){ if (str1.normalize() === str2.normalize() ) { return true; } else { return false; } } var str1 = 'e\u0301'; var str2 = 'é'; document.getElementById("result1").innerHTML = str1 document.getElementById("result2").innerHTML = str2 document.getElementById("result3").innerHTML = compare(str1, str2) </script> </body> </html>

在本教程中,我們學習了字串比較。如果只有 ASCII 字元,我們可以直接比較字串。如果存在組合字元,則需要在進行嚴格相等檢查之前規範化字串。

更新於:2022年10月26日

4K+ 次瀏覽

啟動您的 職業生涯

完成課程後獲得認證

開始
廣告