JavaScript: validazione di un indirizzo IPv4

In JavaScript possiamo validare un indirizzo IPv4.

Per prima cosa validiamo il formato della stringa usando un'espressione regolare. Quindi validiamo le singole parti della stringa verificando che siano nel range di valori compreso tra 0 e 255 e che non contengano caratteri numerici non validi.


'use strict';

const isValidIPv4 = str => {
    if(!/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(str)) {
        return false;
    }
    let valid = true;
    let parts = str.split('.');
    for(let i = 0; i < parts.length; i++) {
        let part = parts[i];
        if(part.length > 1 && part[0] === '0') {
            valid = false;
            break;
        }
        let value = parseInt(part, 10);
        if(value < 0 || value > 255) {
            valid = false;
            break;
        }
    }
    return valid;
};

Esempi:


'use strict';

console.log(isValidIPv4('192.168.1.1')); // true

console.log(isValidIPv4('192.168.01.1')); // false

console.log(isValidIPv4('0.0.0.0')); // true

console.log(isValidIPv4('255.255.255.255')); // true

console.log(isValidIPv4('192.256.1.1')); // false

Torna su