IP validator

by odiseo

JavaScript

var ip1 = "192.168.45.12";
var ip2 = "255.234.678.2";
var ip3 = "255.234.123.00001";

function isValidIp(ip) {
    //validate string param
    if (typeof ip != "string"){
        return false
    }
    
    var chunks = ip.split(".");
    
    //validate 4 chunks per ip
    if (chunks.length !== 4){
        return false;
    }
    
    var validChunks = true;
    chunks.forEach(function(chunk){
        if (chunk < 0 || chunk > 255 || chunk === "" || /^0{2,}/.test(chunk)){
            validChunks = false;   
        }
    });
    
    return validChunks;
 }

console.log(ip1, isValidIp(ip1));
console.log(ip2, isValidIp(ip2));
console.log(ip3, isValidIp(ip3));