如何使用 JavaScript 比较当前语言环境中的两个字符串?

front end technologyjavascriptweb development

在本教程中,我们将学习使用 JavaScript 比较当前语言环境中的两个字符串。语言环境的含义是当地地点或地区。在这里,我们需要根据特定语言环境的语言比较两个字符串。

通常,当用户使用相等或严格相等运算符比较字符串时,它不会根据当前语言环境比较字符串。因此,我们将学习根据特定语言环境的语言比较两个字符串。

使用 localeCompare() 方法比较两个字符串

String localeCompare() 方法根据浏览器的语言(即当前语言环境)将字符串与参考字符串进行比较。它是一个对象方法,因此用户需要使用引用字符串并传递第二个字符串作为参数来调用该方法。

语法

我们可以按照以下语法使用localeComapre()方法。

str1.localeCompare(str2);

参数

  • str1 − 它是一个引用字符串,始终是必需的。

  • str2 − 它是一个参数字符串;用户需要与参考字符串进行比较。

返回值

  • 0 - 如果两个字符串相等。
  • 1 - 如果参考字符串大于参数字符串。
  • -1 - 如果参考字符串小于参数字符串

示例

在下面的示例中,我们创建了函数 comapreString(),该函数以两个字符串为参数,并在比较两个字符串后呈现输出。在函数内部,我们使用 localeCompare() 方法。

<html> <head> </head> <body> <h2> Compare two strings with current locale. </h2> <h4> Comparing strings using <i> localeCompare </i> method. </h4> <p id = "output"> </p> <script> let output = document.getElementById("output"); let str1 = "hello"; let str2 = "TutorialsPoint"; function compareStrings(str1, str2) { let result = str1.localeCompare(str2); if (result == 0) { output.innerHTML += str1 + " == " + str2 + "<br/>"; } else if (result == 1) { output.innerHTML += str1 + " > " + str2 + "<br/>"; } else { output.innerHTML += str1 + " < " + str2 + "<br/>"; } } compareStrings(str1, str2); compareStrings("abc", "abc"); </script> </body> </html>

在上面的输出中,用户可以看到字符串"TutorialPoint"的字母顺序比字符串"hello"高。

比较不同语言环境中的两个字符串

比较不同语言环境中的两个字符串 在这种方法中,我们将使用相同的方法 localeCompare() 来匹配字符串,但我们将更改当前语言环境并根据不同的区域语言比较字符串。此外,我们将传递一些选项作为 localeCompare() 方法的参数,以根据选项比较字符串。

语法

用户可以按照以下语法使用 localeCompare() 方法使用不同的语言环境。

let str1 = "'Hello Programmers!'";
let str2 = "Welcome, here.";
let options = { ignorePunctuation: true }
let result = str1.localeCompare(str2, "en-US", options);

参数

  • en-US − 它是一个语言环境,基于用户想要比较两个字符串的语言环境的区域语言。它是一个可选参数。en-US 表示美国地区的英语。我们可以为不同的语言环境添加不同的代码。

  • options − 它也是一个可选参数,包含用于比较字符串的不同选项。在我们的例子中,它将在比较字符串时忽略标点符号。

示例

在下面的示例中,我们基于 en-US 语言环境比较两个字符串。此外,我们在比较字符串时会忽略标点符号。

<html> <head> </head> <body> <h2> Comparing two strings with current locale. </h2> <h4> comparing strings in different locale using <i>localeCompare</i> method. </h4> <p id = "output"> </p> <script> let output = document.getElementById("output"); let str1 = "'Hello programmers!'"; let str2 = "Welcome, here."; function compareStrings(str1, str2) { let options = { ignorePunctuation: true } let result = str1.localeCompare(str2, "en-US", options); if (result == 0) { output.innerHTML += str1 + " == " + str2 + "<br/>"; } else if (result == 1) { output.innerHTML += str1 + " > " + str2 + "<br/>"; } else { output.innerHTML += str1 + " < " + str2 + "<br/>"; } } compareStrings(str1, str2); </script> </body> </html>

我们已经学会了根据指定的语言环境比较两个字符串。如果我们不指定语言环境,它将采用浏览器的默认语言并以此为基础比较字符串。此外,用户可以使用数学运算符来比较两个字符串。


相关文章