Método en Java que determina si un String corresponde a un IPv4 válida.
Recuerden que el javadoc es un documento html generado, por lo tal debemos utilizar el &_acute;
cuando necesitamos puntuación en la documentación del m
étodo; y para que los mensajes en pantalla se generen con puntuación debemos utilizar las salidas unicode con el \uXXXX, con esto nos aseguramos que los símbolos y caracteres especiales se muestren correctamente en cualquier SO.
/**
* M&eacte;todo que verifica si el String ingresado corresponde a una dirección IP v4.
* @param ip IP a verificar.
* @return true
Si el String ingresado corresponde a una dirección IP v4.
* @throws java.lang.Exception En caso de que el String ingresado no respete las reglas de una IP v4.
*/
public static boolean esIPv4( String ip ) throws Exception{
try{
/* Verificacion de la longitud del texto. */
if( ip == null || ip.trim().length() < 7 ){
return false;
}
/* Segmentacion de los valores de la IP. */
String[] temp = ip.split( "\\." );
/* Verificacion de la cantidad de octetos ingresados. */
if( temp.length != 4 ){
return false;
}
/* Que todos los octetos sean un numero. */
/* Ver metodo isNumeric( String ) en mi blog. */
for( String oct : temp ){
if( !isNumeric(oct) ){
return false;
}
}
/* Limites de valores permitidos en los octetos. */
int[] dir = new int[]{
Integer.parseInt( temp[0] ),
Integer.parseInt( temp[1] ),
Integer.parseInt( temp[2] ),
Integer.parseInt( temp[3] )
};
if( dir[0] > 254 || dir[0] <= 0 ||
dir[1] > 254 || dir[1] < 0 ||
dir[2] > 254 || dir[2] < 0 ||
dir[3] > 254 || dir[3] <= 0 ){
return false;
}
return true;
}catch( Exception ex ){
throw new Exception(
"Error en el m\u00c9todo: esIPv4( String )\n - " + ex.getMessage()
);
}
}