Check if value is empty in JavaScript

In JavaScript, checking if a value is empty is essential for form validation and data processing. You can check for empty strings, null values, and undefined variables using various approaches.

Basic Empty Check

The most common approach is to check for empty strings and null values:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Check Empty Value</title>
</head>
<body>
    <form name="register" onsubmit="return checkingUserName()">
        USERNAME: <input type="text" name="username">
        <input type="submit" value="Save">
    </form>

    <script>
        function checkingUserName() {
            var username = document.forms["register"]["username"].value;
            if (username == null || username == "") {
                alert("Please enter the username. Can't be blank or empty!");
                return false;
            }
            alert("Username is valid: " + username);
            return false; // Prevent actual form submission for demo
        }
    </script>
</body>
</html>

Different Methods to Check Empty Values

Here are various approaches to check if a value is empty:

// Method 1: Check null and empty string
function isEmpty1(value) {
    return value == null || value == "";
}

// Method 2: Strict comparison
function isEmpty2(value) {
    return value === null || value === undefined || value === "";
}

// Method 3: Using trim() to handle whitespace
function isEmpty3(value) {
    return !value || value.trim() === "";
}

// Method 4: Comprehensive check
function isEmpty4(value) {
    return value === null || value === undefined || value === "" || 
           (typeof value === "string" && value.trim() === "");
}

// Test all methods
let testValues = ["", null, undefined, "   ", "hello"];

testValues.forEach(val => {
    console.log(`Value: "${val}"`);
    console.log(`isEmpty1: ${isEmpty1(val)}`);
    console.log(`isEmpty2: ${isEmpty2(val)}`);
    console.log(`isEmpty3: ${isEmpty3(val)}`);
    console.log(`isEmpty4: ${isEmpty4(val)}`);
    console.log("---");
});
Value: ""
isEmpty1: true
isEmpty2: true
isEmpty3: true
isEmpty4: true
---
Value: "null"
isEmpty1: true
isEmpty2: true
isEmpty3: true
isEmpty4: true
---
Value: "undefined"
isEmpty1: true
isEmpty2: true
isEmpty3: true
isEmpty4: true
---
Value: "   "
isEmpty1: false
isEmpty2: false
isEmpty3: true
isEmpty4: true
---
Value: "hello"
isEmpty1: false
isEmpty2: false
isEmpty3: false
isEmpty4: false
---

Comparison of Methods

Method Handles null/undefined Handles whitespace Use Case
== null || == "" Yes No Basic form validation
=== null || === "" Yes No Strict type checking
!value || trim() === "" Yes Yes User input validation
Comprehensive check Yes Yes Production applications

Practical Form Validation Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Advanced Empty Check</title>
</head>
<body>
    <form id="userForm">
        <p>Name: <input type="text" id="name" placeholder="Enter your name"></p>
        <p>Email: <input type="email" id="email" placeholder="Enter your email"></p>
        <button type="button" onclick="validateForm()">Validate</button>
        <div id="result"></div>
    </form>

    <script>
        function isEmpty(value) {
            return !value || value.trim() === "";
        }

        function validateForm() {
            const name = document.getElementById('name').value;
            const email = document.getElementById('email').value;
            const result = document.getElementById('result');
            
            let errors = [];
            
            if (isEmpty(name)) {
                errors.push("Name cannot be empty");
            }
            
            if (isEmpty(email)) {
                errors.push("Email cannot be empty");
            }
            
            if (errors.length > 0) {
                result.innerHTML = `<p style="color: red;">Errors: ${errors.join(', ')}</p>`;
            } else {
                result.innerHTML = `<p style="color: green;">All fields are valid!</p>`;
            }
        }
    </script>
</body>
</html>

Conclusion

Use value == null || value == "" for basic empty checks, or !value || value.trim() === "" for handling whitespace. Choose the method that best fits your validation requirements.

Updated on: 2026-03-15T23:18:59+05:30

21K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements