Sábado 21 de Diciembre de 2024, 10:14
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
ASP
(Moderador:
F_Tanori
) »
Validar Direccion Ip
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Validar Direccion Ip (Leído 13602 veces)
franc
Miembro MUY activo
Mensajes: 157
Validar Direccion Ip
«
en:
Miércoles 14 de Junio de 2006, 11:52 »
0
¿ Conoceis algun metodo para validar direciones IP ?
del tipo xxx.xxx.xxx.xxx dondelas xxx pueden tomar valores hasta 255 y pueden haber x que se omitan por ser la primera x de cada grupo y además ser cero ( ej. 195.2.0.254 )
He buscado por todas partes y no hay forma de encontrar un RegExp que resuelva esto, ¿ alguien puede ayudarme ?
gracias
Tweet
jpaler
Miembro MUY activo
Mensajes: 479
Re: Validar Direccion Ip
«
Respuesta #1 en:
Miércoles 14 de Junio de 2006, 18:22 »
0
mira compañero, aqui tengo uno q lo acabo de hacer, pero
lo hice en java (EL MEJOR LENGUAJE DE PROGRAMACION DEL MUNDO):
...,aki te dejo para q lo pases a ASP...listo:
Código: Text
/**
* Este metodo devuelve true si la direccion ip pasada como parametro
* es valida o false en caso contrario
* @param dir String
* @return boolean
*/
public static boolean esUnaDireccionIPValida( String dir ) {
//En java un StringTokenizer es una version mejorada del String
// q permite darle formato a las cadenas. Al llamar el constructor
// y pasar por ej. la direccion="255.192.168.1" y el String punto "." lo q
// hago es separar la ip y dejar a st={"255","192","168","1"}
StringTokenizer st = new StringTokenizer( dir, "." );
//ahora verifico q si el tamaño de st no es 4, osea, los 4 numeros
// q debe tener toda direcicon ip, digo q esta mal la direccion ip.
if ( st.countTokens() != 4 ) {
return false;
}
//ahora sigo verificando, y le digo a st con el metodo nextTokens()
// q me de uno por uno sus elementos, es decir, los 4 numeros de las
// de la direcicon ip. Luego verifo q el numero tenga solo 1 o 3 digitos y
// q este entre 0 y 255. Y listo, eso es todo.
while ( st.hasMoreTokens() ) {
String nro = st.nextToken();
if ( ( nro.length() > 3 ) || ( nro.length() < 1 ) ) {
return false;
}
int nroInt = 0;
try {
nroInt = Integer.parseInt( nro );
}
catch ( NumberFormatException s ) {
return false;
}
if ( ( nroInt < 0 ) || ( nroInt > 255 ) ) {
return false;
}
}
return true;
}
Si tienes alguna duda, no hay problema... solo la comentas y listo.
Espero y te sirva...
salu2 !!!
tonilope
Miembro activo
Mensajes: 51
Re: Validar Direccion Ip
«
Respuesta #2 en:
Miércoles 14 de Junio de 2006, 19:05 »
0
Yo me hice este en C (posiblemente el mejor lenguaje de la historia
) hace ya bastante:
Código: Text
int compruebaIP(char *ip){
char octeto[4];
int contador, j, valida, num;
contador=0;
valida=1;
num=0;
while(contador<=strlen(ip) && valida)
{
j=0;
while(ip[contador]!='.' && j<3 && ip[contador]!='\0' && valida)
{
if(ip[contador]>=48 && ip[contador]<=57 )
octeto[j++]=ip[contador++];
else
valida=0;
}
octeto[j]='\0';
if(j>0 && (ip[contador]=='.' || ip[contador]=='\0') && atoi(octeto)<=255 && atoi(octeto)>=0)
num++;
else
valida=0;
contador++;
}
if(num!=4)
valida=0;
return(valida);
}
1º) Comprueba que sólo haya cifras en cada octeto (como máximo 3 cifras por octeto).
2º) Comprueba que el octeto esté entre 0 y 255.
3º) Comprueba que la Ip tenga exactamente 4 octetos.
Si pasa los 3 filtros, la IP es válida.
Salu2
ROBER.29
Miembro MUY activo
Mensajes: 421
Re: Validar Direccion Ip
«
Respuesta #3 en:
Jueves 15 de Junio de 2006, 10:06 »
0
Hola,
No he probado la función que te acabo de hacer porque no tengo tiempo, pero creo que si que te funcionará, pruebala y me cuentas.
Código: Text
'Esta función recibe como parámetro el valor de la IP que se tiene que validar (Ej: 192.168.2.25)
'y devuelve True en el caso de que la IP sea correcta y False en caso de que sea errónea.
Function validarIP (ValorIP)
Set objRegExp = New RegExp
objRegExp.Pattern = "^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"
objRegExp.IgnoreCase = True
objRegExp.Global = True
If Not objRegExp.Test(ValorIP) Then
validarIP = False
Else
validarIP = True
End If
End Function
Ejemplo de como se utilizaría
Código: Text
If validarIP("192.168.2.25") Then
response.write "IP Correcta."
Else
response.write "IP Errónea."
End If
Espero que te sirva.
Un saludo.
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid
franc
Miembro MUY activo
Mensajes: 157
Re: Validar Direccion Ip
«
Respuesta #4 en:
Viernes 23 de Junio de 2006, 12:34 »
0
gracias a todos, me ha venido muy bien vuestros codigos,
un saludo
ing_marco
Miembro MUY activo
Mensajes: 263
Re: Validar Direccion Ip
«
Respuesta #5 en:
Viernes 23 de Junio de 2006, 14:20 »
0
Excelente ROBER.29, tu codigo de validacion con expresiones regulares esta muy bien, de manera k lo puedes poner asi como lo hiciste o simplemente poner un validator de asp.net y poner la expresion regular el resto se encarga el .Net.
MARCO DIAZ
Ing_Marco
Bachiller Ing de Sistemas.
UNT
Trujillo-Peru
ROBER.29
Miembro MUY activo
Mensajes: 421
Re: Validar Direccion Ip
«
Respuesta #6 en:
Jueves 29 de Junio de 2006, 10:09 »
0
Hola,
Me alegro que haya funcionado, es que la hice de prisa y corriendo y ni tan siquiera la probé.
Un placer ayudaros.
Un saludo.
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
ASP
(Moderador:
F_Tanori
) »
Validar Direccion Ip