如何在JavaScript中检查空/未定义/空字符串?

WBOY
WBOY 转载
2023-08-22 14:17:09 696浏览

如何在JavaScript中检查空/未定义/空字符串?

在JavaScript中,“”表示空字符串,我们可以使用null关键字来初始化字符串为null值。如果我们没有给任何变量赋值,它默认为未定义。

有时候,在处理字符串时,我们需要检查字符串是否为空、未定义或为空值。例如,我们通过一个HTML表单从用户那里获取详细信息,而用户可以在输入字段中添加一个空字符串;我们需要验证输入字段并向用户显示错误消息。

在本教程中,我们将学习三种方法来检查字符串是否为空、null或未定义。

使用string.trim()方法和string.length属性

string.trim()方法允许我们从字符串的开头删除空格。因此,我们可以从字符串的开头删除字符串。之后,我们可以检查字符串的长度是否为零,这意味着字符串可以是空的、null的或未定义的。

语法

用户可以按照以下语法使用 string.trim() 方法和 string.length() 属性来检查空、未定义或 null 字符串。

let string1 = " ";
string1 = string1.trim();
if (string1.length == 0) {
   // string is empty
}

Example

(示例)

在下面的示例中,我们创建了两个不同的字符串。一个是空的,另一个只包含空格。用户可以在输出中看到,我们的逻辑显示两个字符串都是空的,因为第二个字符串只包含空格。

<html>
<body>
   <h3> Using the<i> string.trim() method and string.length() </i> property to check whether a string is null, undefined, or empty. </h3>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      let string1 = "";
      let string2 = " ";
      string1 = string1.trim();
      string2 = string2.trim();
      if (string1.length == 0) {
         output.innerHTML += "The string1 is empty! </br>";
      }
      if (string2.length == 0) {
         output.innerHTML += "The string2 is empty! </br>";
      }
   </script>
</body>
</html>

将字符串转换为布尔值并检查其是否为空、未定义或为null

我们可以使用Boolean构造函数或双重否定运算符(!!)将字符串转换为布尔值。当我们将任何变量转换为布尔值时,它会将所有假值映射为false,其他值映射为true。在JavaScript中,空字符串、null和undefined都是假值,因此当我们将其转换为布尔值时,Boolean()构造函数总是返回false。

语法

在下面的语法中,我们使用了Boolean()构造函数将字符串转换为布尔值,并检查它是否为空。

let string3 = undefined;
if (Boolean(string3) == false) {
   // string3 is either null, empty, or undefined
}

Example

(示例)

我们已经在下面的示例中转换了包含空值、null值和undefined值的三个字符串。此外,我们还创建了isValid()函数,该函数以字符串作为参数,并将字符串转换为布尔值。然后,我们检查从Boolean()构造函数返回的字符串的值是true还是false。

<html>
<body>
   <h3> Converting the<i> string to boolean </i> to check whether a string is null, undefined, or empty. </h3>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      let str1 = "";
      let str2 = null;
      let str3 = undefined;
      function isValid(str) {
         if (Boolean(str)) {
         output.innerHTML += "The " + str + " is valid <br/>";
         } else {
            output.innerHTML += "The " + str + " is not valid <br/>";
         }
      }
      isValid(str1);
      isValid(str2);
      isValid(str3);
      isValid("Hello");
   </script>
</body>
</html>

在上面的输出中,用户可以观察到布尔构造函数对于空、null和未定义的字符串返回false,并对于字符串“Hello”返回true。

使用严格相等运算符

严格相等运算符允许我们比较两个变量的值,并且还比较变量的类型。在这里,我们将比较我们的字符串与“”,null和undefined。此外,我们将使用OR运算符将这三个条件一起使用在单个if条件中。

如果这三个条件中的任意一个成为真,那就意味着该字符串无效。

语法

用户可以按照以下语法使用严格相等运算符来检查字符串是否为空、null或undefined。

if (str === "" || str === null || str === undefined) {
   // string is not valid
} else {
   // string is valid
}

Example

(示例)

在下面的示例中,isValid()函数包含if-else语句,用于检查字符串是否有效。如语法中所讨论的,我们在if语句的条件中使用了OR运算符,同时检查空字符串、null和undefined字符串的三个条件。

<html>
<body>
   <h3> Using the<i> strict equality operator </i> to check whether string is null, undefined or empty.</h3>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      function isValid(str) {
         if (str === "" || str === null || str === undefined) {
         output.innerHTML += "The " + str + " is not valid <br/>";
          } else {
            output.innerHTML += "The " + str + " is valid <br/>";
         }
      }
      isValid(null);
      isValid(undefined);
      isValid("TutorialsPoint");
   </script>
</body>
</html>

用户学习了三种方法来检查字符串是否为空、未定义或为空值。从这三种方法中,最好的方法是第二种方法,它使用了Boolean()构造函数。

然而,用户可以使用Doble,Not(!!)运算符,它提供了简单的语法,但不适合初学者。

以上就是如何在JavaScript中检查空/未定义/空字符串?的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除