Prova questo... ma è da testare.
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<table summary="">
<tr>
<td id="range_count"></td>
</tr>
</table>
<script language="JavaScript" type="text/javascript">
<!--
IP_var1 = 0;
IP_var2 = 0;
IP_var4 = 0;
IP_var3 = 0;
IP_Stop1 = 0;
IP_Stop2 = 0;
IP_Stop4 = 0;
IP_Stop3 = 0;
ind = 0;
function conta_all(str_range){
arr_ip = str_range.split(';');
//------ Primo range
ind = 0;
conta_single_range(arr_ip[ind]);
//------ Conta
conta();
} // function conta_all(str_range)
function conta_single_range(str_range2){
ar_range = str_range2.split('-');
start_ip = ar_range[0];
stop_ip = ar_range[1];
byt_start = start_ip.split('.');
byt_stop = stop_ip.split('.');
//----------- Parte variabile
IP_var1 = byt_start[0];
IP_var2 = byt_start[1];
IP_var3 = byt_start[2];
IP_var4 = byt_start[3];
//----------- Fine del ciclo
IP_Stop1 = byt_stop[0];
IP_Stop2 = byt_stop[1];
IP_Stop3 = byt_stop[2];
IP_Stop4 = byt_stop[3];
// ip_str = byt_start[0]+"."+byt_start[1];
} // function conta_single_range(str_range2)
function getIP_var() {
return IP_var1+'.'+IP_var2+'.'+IP_var3+'.'+IP_var4;
} // function getIP_var()
function getIP_Stop() {
return IP_Stop1+'.'+IP_Stop2+'.'+IP_Stop3+'.'+IP_Stop4;
} // function getIP_Stop()
function getLongIP_var() {
return getSLongIP(IP_var1)+'.'+getSLongIP(IP_var2)+'.'+getSLongIP(IP_var3)+'.'+getSLongIP(IP_var4);
} // function getIP_var()
function getLongIP_Stop() {
return getSLongIP(IP_Stop1)+'.'+getSLongIP(IP_Stop2)+'.'+getSLongIP(IP_Stop3)+'.'+getSLongIP(IP_Stop4);
} // function getIP_Stop()
function getSLongIP(aValue) {
a = new String();
a = aValue.toString();
if (a.length == 1) {
ret = "00"+a;
return ret;
} // if (a.length == 1)
if (a.length == 2) {
ret = "0"+a;
return ret;
} // if (a.length == 2)
if (a.length == 3) {
ret = a;
return ret;
} // if (a.length == 3)
} // function getSLongIP(aValue)
function incIP_var() {
//----- Incremento 4° IP
IP_var4++ ;
if (IP_var4 > 255) {
IP_var3++;
IP_var4 = 0;
} // if (IP_var4 > 255)
//----- Incremento 3° IP
if (IP_var3 > 255) {
IP_var2++;
IP_var3 = 0;
} // if (IP_var3 > 255)
//----- Incremento 2° IP
if (IP_var2 > 255) {
IP_var1++;
IP_var2 = 0;
} // if (IP_var2 > 255)
} // function incIP_var()
function conta() {
if (getLongIP_var() > getLongIP_Stop()) {
if (ind >= arr_ip.length-1) {
//------- Se tutti i range sono stati trattati mi fermo
return;
} else {
//------- Passo al range successivo
ind++;
conta_single_range(arr_ip[ind]);
} //if (ind > arr_ip.length-1)
} // if (IP_var4 == IP_Stop4)
document.getElementById('range_count').innerHTML= "Sfoglia il gruppo" + "
"+getIP_var();
incIP_var();
setTimeout("conta()",200);
} // function conta()
//uso della funzione
conta_all("192.168.0.250-192.168.1.20;192.168.3.1-192.168.3.40");
//-->
</script>
</body>
</html>