Open In App

How to check if a string is a valid IP address format in JavaScript ?

Last Updated : 30 Oct, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will see how to check if a string is a valid IP address or not. An IP address is a unique identifier assigned to each device connected to a computer network that uses the Internet Protocol for communication. There are two common formats for IP addresses: IPv4 and IPv6. Checking if a string is a valid IP address format in JavaScript involves verifying if the string follows the rules for a standard IPv4 or IPv6 address.

These are the methods to check if a string is a valid IP address format in JavaScript:

Using Regular Expressions

This approach uses regular expressions to match valid IPv4 and IPv6 patterns.

Example: This example uses the Regular Expressions to validate the IP address format for the String.

Javascript




function checkIpAddress(ip) {
    const ipv4Pattern = 
        /^(\d{1,3}\.){3}\d{1,3}$/;
    const ipv6Pattern = 
        /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/;
    return ipv4Pattern.test(ip) || ipv6Pattern.test(ip);
}
const ipAddress = "122.0.0.0";
console.log(checkIpAddress(ipAddress));


Output

true

Using Split and Validate

This approach splits the string by periods or colons and validates each part individually.

Example: This example describes the validation of IP address format for the string using Split and Validate.

Javascript




function validIpAddress(ip) {
    const parts = ip.split(/[.:]/);
  
    if (parts.length === 4) {
  
        // Check IPv4 parts
        for (const part of parts) {
            const num = parseInt(part);
            if (isNaN(num) || num < 0 || num > 255) {
                return false;
            }
        }
        return true;
    } else if (parts.length === 8) {
  
        // Check IPv6 parts
        for (const part of parts) {
            if (!/^[0-9a-fA-F]{1,4}$/.test(part)) {
                return false;
            }
        }
        return true;
    }
    return false;
}
  
const ipAddress = "2001:0db8:85a3:0000:0000:8a2e:0370:7334";
console.log(validIpAddress(ipAddress));


Output

true


Using Library Functions

Some JavaScript libraries provide functions to validate IP addresses. One such library is ip-address, which offers comprehensive IP address validation capabilities.

  • Install and use the ip-address library to validate IP addresses
const ip = require('ip-address');

Example: This example authenticating the validity of the IP address format of the String using the Library Functions.

Javascript




const ip = require('ip-address');
  
function checkIpAdress(ipAddress) {
    try {
        const parsed = new ip.Address6(ipAddress);
        return parsed.isValid() || new ip.Address4(ipAddress).isValid();
    } catch (e) {
        return false;
    }
}
const ipAddress = "192.168.1.1";
console.log(checkIpAdress(ipAddress));


Output:

true


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads