Foros del Web » Programando para Internet » Javascript »

Validador de URL's

Estas en el tema de Validador de URL's en el foro de Javascript en Foros del Web. Estoy buscando un validador de URL's pero por el momento no tengo éxito. Alguien tendría a mano un script que haga eso y me lo ...
  #1 (permalink)  
Antiguo 03/03/2004, 12:53
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Validador de URL's

Estoy buscando un validador de URL's pero por el momento no tengo éxito.

Alguien tendría a mano un script que haga eso y me lo pueda facilitar?
  #2 (permalink)  
Antiguo 03/03/2004, 12:56
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Leyendo el mensaje me doy cuenta que no quedó muy claro.

Lo que estoy necesitando es un script que verifique que la sintaxis de una URL sea la correcta (sin Ñ's, tildes, caracteres "extraños", que comience por http(s), etc.) y no algo que me informe si la URL ingresada existe realmente.


Espero haberme explicado
__________________
...___...
  #3 (permalink)  
Antiguo 03/03/2004, 14:22
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Hola Daz.

Prueba esto y me comentas.

Código:
<script>
function valida()
{
p=formu.pepito.value
if (p.substring(0,7) != "http://") formu.pepito.value="http://"+p
raros= ["ñ","á","é","í","ó","ú"]
for (var i=0; i<raros.length; i++)
{
 if (p.indexOf(raros[i])!=-1)
 {
   alert('caracter '+raros[i]+' no válido');
 }
}
}
</script>
<form name="formu">
<input type="text" name="pepito">
<input type="button" onclick="valida()" value="validar">
</form>
Un saludo.

Última edición por Carlitos; 03/03/2004 a las 14:30
  #4 (permalink)  
Antiguo 03/03/2004, 14:27
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Lo pruebo y te aviso, gracias
__________________
...___...
  #5 (permalink)  
Antiguo 03/03/2004, 14:31
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Daz, revisa que he corregido una cosa.

Cita:
if (p.indexOf(raros[i])!=-1)
  #6 (permalink)  
Antiguo 03/03/2004, 15:10
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Ok, ya cambié esa parte. Pero igualmente tengo un problema a la hora de "customizar" el script.

Te cuento, pienso utilizar esa misma función en dos formularios distintos (con distintos nombres) y en varios inputs en cada uno de ellos (con distintos nombres también). Por lo que pensé en pasarle como parámetro el nombre del form y de cada imput (la llamada a la funcion la voy a hacer desde el onBlur de los imputs). Me explico? El código me quedó así, pero me da un error que dice 'ElInput' es nulo o no es un objeto



Código:
function valida(ElForm, ElInput)
{
p=eval(ElForm + '.' + ElInput + '.value')
if ((p.substring(0,7) != "http://") && (p != '')) ElForm.ElInput.value = "http://" + p
raros= ["ñ","á","é","í","ó","ú"]
for (var i=0; i<raros.length; i++)
{
 if (p.indexOf(raros[i])!=-1)
 {
   alert('caracter '+raros[i]+' no válido');
 }
}
}

Lo que puse en negritas es lo que no sé como modificar.


La llamada la hago así:


Código:
<input name="Web1" type="text" id="Web1" size="30" onBlur="valida('InsWeb', 'Web1');">
Donde InsWeb es el nombre del formulario y Web1 es el name del input.


Alguna idea?
  #7 (permalink)  
Antiguo 03/03/2004, 15:16
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Ya que estoy pidiendo, pido como dios manda

Estaría bueno que en vez de colocar:

Código:
onBlur="valida('InsWeb', 'Web1');"

Se pueda poner algo como:

Código:
onBlur="valida(ComoSeaQueSeLlameElFormActual, ComoSeaQueSeLlameEsteInput);"
  #8 (permalink)  
Antiguo 03/03/2004, 16:05
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Prueba:

Código:
<script>
function valida(p)
{
if (p.value.substring(0,7) != "http://") p.value="http://"+p.value
raros= ["ñ","á","é","í","ó","ú"]
for (var i=0; i<raros.length; i++)
{
 if (p.value.indexOf(raros[i])!=-1)
 {
   alert('carácter '+raros[i]+' no válido');
 }
}
}
</script>

<input type="text" name="pepito" onblur="valida(this)">
  #9 (permalink)  
Antiguo 04/03/2004, 10:47
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Perfecto Charly!

Sólo modifiqué esta línea:
Código:
if (p.value.substring(0,7) != "http://") p.value="http://"+p.value

Por esta:
Código:
if ((p.value.substring(0,7) != "http://") && (p.value != '')) p.value="http://"+p.value
Para que no agregue "http://" si el text queda vacío.

Muchas gracias por tu ayuda.


Dentro de poco se viene otro mangazo
  #10 (permalink)  
Antiguo 04/03/2004, 11:16
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Buena observación.

Tengo unas preguntas de ASP. Voy a buscarlas por mi mismo y si no encuentro información, te quiero ver respondiendo en el foro de ASP, eh?

Un saludo.
  #11 (permalink)  
Antiguo 04/03/2004, 11:24
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Será un gusto en la medida que mis conocimientos me lo permitan
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:44.