Foros del Web » Programando para Internet » Javascript »

Sumas de ips

Estas en el tema de Sumas de ips en el foro de Javascript en Foros del Web. Hola, estoy tratando de hacer un script que me sume un numero a una ip y me la verifique antes de devolvermela. He mirado por ...
  #1 (permalink)  
Antiguo 26/07/2011, 16:28
 
Fecha de Ingreso: julio-2011
Mensajes: 1
Antigüedad: 12 años, 9 meses
Puntos: 0
Sumas de ips

Hola,
estoy tratando de hacer un script que me sume un numero a una ip y me la verifique antes de devolvermela.

He mirado por ahi y he encontrado este Script para parsear ips, pero no consigo sumarle un numero a la ip.

Si alguien me pudiera echar una mano, le estaria muy agradecido.

El Script es:

Código:
<SCRIPT LANGUAGE="JavaScript">


<!-- Begin
function verifyIP (IPvalue, Ipnum) {
errorString = "";
theName = "IPaddress";


var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
var ipArray = IPvalue.match(ipPattern);
var IpSum =Ipnum;

if (IPvalue == "0.0.0.0")
errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
else if (IPvalue == "255.255.255.255")
errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
if (ipArray == null)
errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.';
else {
for (i = 0; i < 4; i++) {
thisSegment = ipArray[i];
if (thisSegment > 255) {
errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.';
i = 4;
}
if ((i == 0) && (thisSegment > 255)) {
errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
i = 4;
      }
   }
}

extensionLength = 3;
if (errorString == "")

alert (+IPvalue+" iThat is a valid IP address.");
else
alert (errorString);
}
//  End -->
</script>



<form>
IP Address:
<input size=15 name="IPvalue">
<input size=15 name="IPnum">
<input type="submit" value="Verify" onClick="verifyIP(IPvalue.value)";>
</form>
  #2 (permalink)  
Antiguo 27/07/2011, 01:36
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 6 meses
Puntos: 66
Respuesta: Sumas de ips

hola mukyman,
dado que una IP tiene una estructura fija (cuatro dígitos separados por números), podemos desmenuzar dicha estructura y 'jugar' con los dígitos a nuestro gusto. Una vez terminado, podemos volver a montar la estructura y devolver el valor adecuado. Te paso un ejemplo de cómo podrías hacerlo:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function modificarIP(IP)
  3. {
  4.     //separamos con .split cada parte de la IP con un array (vector)
  5.     var arrayIP = IP.split('.');
  6.     //ahora arrayIP tiene cuatro posiciones, con cada parte de la IP
  7.     /*por ejemplo, dada la IP 10.200.40.52
  8.         arrayIP[0] = 10
  9.         arrayIP[1] = 200
  10.         arrayIP[2] = 40
  11.         arrayIP[3] = 52
  12.     */
  13.     //ahora vamos a sumar 10 a la última posición de arrayIP, y 5 a la primera posición
  14.     arrayIP[3] = parseInt(arrayIP[3]) + 10;
  15.     arrayIP[0] = parseInt(arrayIP[0]) + 5;
  16.    
  17.     //por último, volvemos a estructurar la IP con los nuevos valores
  18.     return arrayIP.join('.');
  19. }
  20. </script>

saludos.
  #3 (permalink)  
Antiguo 27/07/2011, 01:37
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 6 meses
Puntos: 66
Respuesta: Sumas de ips

... cuando digo 'cuatro dígitos separados por números' quería decir 'cuatro dígitos separados por PUNTOS' que se me ha ido la olla, jejejeje, que no quiero liarte.

saludos.

Etiquetas: ips, sumas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:31.