在JavaScript中,“”表示空字符串,我们可以使用null关键字来初始化字符串为null值。如果我们没有给任何变量赋值,它默认为未定义。
有时候,在处理字符串时,我们需要检查字符串是否为空、未定义或为空值。例如,我们通过一个HTML表单从用户那里获取详细信息,而用户可以在输入字段中添加一个空字符串;我们需要验证输入字段并向用户显示错误消息。
在本教程中,我们将学习三种方法来检查字符串是否为空、null或未定义。
string.trim()方法允许我们从字符串的开头删除空格。因此,我们可以从字符串的开头删除字符串。之后,我们可以检查字符串的长度是否为零,这意味着字符串可以是空的、null的或未定义的。
用户可以按照以下语法使用 string.trim() 方法和 string.length() 属性来检查空、未定义或 null 字符串。
let string1 = " "; string1 = string1.trim(); if (string1.length == 0) { // string is empty }
在下面的示例中,我们创建了两个不同的字符串。一个是空的,另一个只包含空格。用户可以在输出中看到,我们的逻辑显示两个字符串都是空的,因为第二个字符串只包含空格。
<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>
我们可以使用Boolean构造函数或双重否定运算符(!!)将字符串转换为布尔值。当我们将任何变量转换为布尔值时,它会将所有假值映射为false,其他值映射为true。在JavaScript中,空字符串、null和undefined都是假值,因此当我们将其转换为布尔值时,Boolean()构造函数总是返回false。
在下面的语法中,我们使用了Boolean()构造函数将字符串转换为布尔值,并检查它是否为空。
let string3 = undefined; if (Boolean(string3) == false) { // string3 is either null, empty, or undefined }
我们已经在下面的示例中转换了包含空值、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 }
在下面的示例中,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中文网其他相关文章!