Foros del Web » Programando para Internet » Javascript »

validar ip

Estas en el tema de validar ip en el foro de Javascript en Foros del Web. hola alguien tiene alguna funcion que valide la ip ingresada en un textbox o algo que se le parezca?...
  #1 (permalink)  
Antiguo 13/11/2003, 15:42
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 22 años, 3 meses
Puntos: 2
validar ip

hola

alguien tiene alguna funcion que valide la ip ingresada en un textbox o algo que se le parezca?
  #2 (permalink)  
Antiguo 14/11/2003, 13:28
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Hola, ElAprendiz.

¿Te serviría esto...?
Código PHP:
function validar(ip) {
    
partes=ip.split('.');
    if (
partes.length!=4) {
        
alert('ip no valida');
        return;
    }
    for (
i=0;i<4;i++) 
        if (
partes[i]>255) {
        
alert('ip no valida');
        return;
        }

Saludos,
  #3 (permalink)  
Antiguo 14/11/2003, 18:46
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 22 años, 3 meses
Puntos: 2
lo revisare..gracias :)
__________________
Manual de ASP Avanzado ;-)
  #4 (permalink)  
Antiguo 14/11/2003, 19:48
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 22 años, 3 meses
Puntos: 2
muy bien!!
valida que no se mayor a 255, y que ingrese 4 numeros de 3 digitos, pero si se ingresa un texto no me aparece ningun error.

como adapto esta funcion, para que me permita ingresar numeros y el caracter punto (.)

Código PHP:
    function LP_data()
    {
    var 
key=window.event.keyCode;//codigo de tecla.
    
if (key 46 || key 57//acepta numeros y caracteres (. y /)
        
{
        
window.event.keyCode=0;//anula la entrada de texto.
        
if (key 47) {
        
window.event.keyCode=0;//anula la entrada del caracter "/"
        
}
        }
    } 
  #5 (permalink)  
Antiguo 15/11/2003, 05:37
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Supongo que entiendes cómo funciona ese script por lo que te voy a sugerir no te será dificil.

Modifica esa función para que un alert te avise del código de la tecla que has pulsado. Apunta los que sean de los números del 0 al 9 y el punto y haz la regla para que sólo admita esas teclas...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 15/11/2003 a las 05:44
  #6 (permalink)  
Antiguo 15/11/2003, 11:54
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Hola de nuevo.

En la FAQ-168 he puesto el código de mi anterior mensaje y lo he modificado para que también controle que no se introduzcan caracteres no numéricos.

Espero que sea de ayuda. Saludos,
  #7 (permalink)  
Antiguo 15/11/2003, 16:28
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 22 años, 3 meses
Puntos: 2
bueno amigos ya lo pude solucionar en parte...ya que si ingreso un punto delante no me lo toma como error.. si alguien pudiese validar eso se lo agradeceria mucho


Código PHP:

<script LANGUAGE="JavaScript">
function 
validar(ipobjeto) {
    if (
ip !=""){
        
partes=ip.split('.');
        if (
partes.length!=4) {
            
alert('Ip no valida, Faltan o hay demasiados Valores/n Si no conoce los valores Dejar en Blanco');
            
objeto.focus(); return; 
        }
        for (
i=0;i<4;i++) 
            if (
partes[i]>255){
            
alert('No puede ingresar valores mayores a 256');
            
objeto.focus(); return; 
            }
        }
    }

    function 
LP_data()
    {
    var 
key=window.event.keyCode;//codigo de tecla.
    
if (key 46 || key 57 || key ==47)  //acepta numeros y caracteres (. y /)
        
{
        
window.event.keyCode=0;//anula la entrada de texto.
        
}
    }
</script>
<BODY>
<INPUT TYPE="text" NAME="ip1" onKeypress="LP_data()" onblur="validar(this.value, ip1)">
<INPUT TYPE="text" NAME="ip2" onKeypress="LP_data()" onblur="validar(this.value, ip2)">
<INPUT TYPE="text" NAME="ip3" onKeypress="LP_data()" onblur="validar(this.value, ip3)">
<INPUT TYPE="text" NAME="ip4" onKeypress="LP_data()" onblur="validar(this.value, ip4)"> 
  #8 (permalink)  
Antiguo 16/11/2003, 05:08
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Rehola.

Prueba cambiando esto:

if (partes[i]>255 || !isNaN(partes[i])){

A ver si esta vez... Saludos,
  #9 (permalink)  
Antiguo 16/11/2003, 14:31
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 22 años, 3 meses
Puntos: 2
ok lo vere
__________________
Manual de ASP Avanzado ;-)
  #10 (permalink)  
Antiguo 16/11/2003, 17:36
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 22 años, 3 meses
Puntos: 2
pues no, si la escribo correctamente me dice:

'No puede ingresar valores mayores a 256'
__________________
Manual de ASP Avanzado ;-)
  #11 (permalink)  
Antiguo 17/11/2003, 13:21
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Hola de nuevo.

Veamos si esto...

if (partes[i]>255 || partes[i].length==0){

He hecho algunas pruebas y parece que funciona, pero haz tu también las tuyas y dime que tal te ha ido.

Saludos,
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 20:18.