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