Javascript: Converts nmap ip range to array of IPs /24 only
private rangeFormatter(range){
var outputRange = [];
if (!Array.isArray(range)) {
range = range.split(' ');
}
for (var i = 0; i < range.length; i++) {
var input = range[i];
var temprange = range[i];
if(countCharacterOccurence(input, ".") === 3
&& !input.match(/^[a-zA-Z]+$/)
&& input.match(new RegExp("-","g")).length === 1
){
var firstIP = input.slice(0, input.indexOf("-"));
var network;
var lastNumber = input.slice(input.indexOf("-")+1);
var firstNumber;
var newRange =[];
for (var j = firstIP.length -1; j > -1; j--) {
if(firstIP.charAt(j) === "."){
firstNumber = firstIP.slice(j+1);
network = firstIP.slice(0,j+1);
break;
}
}
for (var iter = firstNumber; iter <= lastNumber; iter++) {
newRange.push(network + iter);
}
//replace the range/host string with array
temprange = newRange;
}
outputRange = outputRange.concat(temprange);
}
function countCharacterOccurence(input, character){
var num = 0;
for (var k = 0; k < input.length; k++) {
if(input.charAt(k) === character){
num++;
}
}
return num;
}
return outputRange;
}