首頁 >web前端 >js教程 >如何在JavaScript中檢查空/未定義/空字串?

如何在JavaScript中檢查空/未定義/空字串?

WBOY
WBOY轉載
2023-08-22 14:17:091448瀏覽

如何在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.com。如有侵權,請聯絡admin@php.cn刪除