如何在JavaScript中进行大小写敏感的字符串比较?
本教程将指导您学习如何在JavaScript中进行大小写敏感的字符串比较。
JavaScript 是大小写敏感的。JavaScript中的关键字、变量、函数名称和任何标识符都必须使用所需的案例。例如,关键字for不能写成For或FOR。
JavaScript中的字符串是什么?字符串是由一个或多个字符组成的集合,这些字符可以是字母、数字或符号。字符串是JavaScript中不可变的原始数据类型,这意味着它们永远不会改变。可以使用JavaScript字符串存储和修改文本。任何用引号括起来的任意数量的字符都是JavaScript字符串。
我们如何在JavaScript中进行字符串比较?“严格相等运算符 (===)”用于根据字符串的值和字符大小写进行字符串比较。“比较运算符”与“length”属性一起使用,可以根据字符串的长度进行比较。使用“localeCompare()”方法,可以根据字母顺序比较字符串。
使用严格相等运算符 (===)
在这里,字符串比较用于检查精确匹配。“严格相等运算符” “===” 通常用于比较两个字符串操作数的值。由于它严格比较字符串的值,而不会将它们转换为公共类型,因此名称“严格”将其与相等运算符“==”区分开来。
当将 undefined 或 null 与其他值进行比较时,会出现非直观的行为。对于严格相等检查,这些值是不同的,因为每个值都有唯一的类型。(null === undefined) 返回 false。
语法
if (str1 === str2) {
return true;
} else {
return false;
在这里,只有当str1完全等于str2时,if块才会运行。此条件返回布尔值。
算法
步骤 1 − 定义两个字符串 − str1 和 str2。
步骤 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 字符,我们可以直接比较字符串。如果存在组合字符,则需要在进行严格相等检查之前对字符串进行规范化。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP