Formatage IP
HTML
<div id="container">
<textarea id="area1"></textarea>
<textarea id="area2"></textarea>
</div>
CSS
body {
text-align: center;
}
textarea {
width: 45%;
height: 500px;
float: left;
margin: 5px;
}
#convertir {
margin: 100 0;
}
/*
123.156.*.*
125.162.23.25
103.56.24.26-29
142.210.56-58.*
142.210.56.*
61.218.0.19
61.218.0.20
61.218.0.21
61.218.0.22
61.218.0.23
61.218.0.24
61.218.0.254
61.220.23.61
61.220.23.62
61.220.23.63
61.220.23.64
61.220.23.65
61.220.23.66
61.220.23.254
120. 102 . 249. 235
*/
JavaScript
// https://regexr.com/
// VOIR LES NEW 1 et 2 !!!
// LOCAL STORAGE
var myIp1;
var myIp2;
if (localStorage.getItem("area1-ip")) {
myIp1 = localStorage.getItem("area1-ip");
$("#area1").val(myIp1);
}
// MAIN FUNCTION
var myIpFunc = function(str) {
str = str
// NETTOYAGE
.replace(/\n+/ig, "\n")
.replace(/\n+$/ig, "")
.replace(/( )?(\.)( )?/ig, ".")
// FORMATAGE DES SEPARATEURS
// NEW 2
.replace(/(\n\d{1,3}\.\d{1,3}\.\d{1,3}-\d{1,3})(\n|$)/gi, "$1.0-255$2")
.replace(/(\d{1,3}\.\d{1,3}\.\d{1,3}(-\d{1,3})?.)\*/gi, "$10-255")
.replace(/(\d{1,3}\.\d{1,3}\.)(\*)(\.\d{1,3})/gmi, "$10-255$3")
.replace(/(\d{1,3}\.\d{1,3}\.)(\d{1,3})-(\d{1,3})(\.\d{1,3}(-\d{1,3})?)/ig, function(match, p1, p2, p3, p4, offset, string) {
var i = (p2 < p3) ? p2 : p3;
var j = (p3 > p2) ? p3 : p2;
var k = [];
while (i <= j) {
k.push(p1 + i + p4);
i++;
}
return k.join("\n");
})
.replace(/(\d{1,3}\.\d{1,3}\.\d{1,3}\.)(\d{1,3})-(\d{1,3})/igm, function(match, p1, p2, p3, p4, offset, string) {
var i = (p2 < p3) ? p2 : p3;
var j = (p3 > p2) ? p3 : p2;
var k = [];
while (i <= j) {
k.push(p1 + i);
i++;
}
return k.join("\n");
})
.split("\n");
console.log(str);
// TRI PAR IP
var i = 0;
while (str[i]) {
str[i] = str[i].split(".", 4);
var j = 0;
while (str[i][j]) {
str[i][j] = parseInt(str[i][j]);
j++;
}
i++;
}
str.sort(function (a, b) {
if (a[0] == b[0]) {
if (a[1] == b[1]) {
if (a[2] == b[2]) {
return (a[3] < b[3]) ? -1 : (a[3] > b[3]) ? 1 : 0;
} else {
return (a[2] < b[2]) ? -1 : 1;
}
} else {
return (a[1] < b[1]) ? -1 : 1;
}
} else {
return (a[0] < b[0]) ? -1 : 1;
}
});
var k = 0;
while (str[k]) {
str[k] = str[k].join(".");
k++;
}
str = str.filter(function(e, i, a) {
return a.indexOf(e) === i;
})
...