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?
| ||||
| Hola Daz. Prueba esto y me comentas.
Código:
Un saludo. <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>
Última edición por Carlitos; 03/03/2004 a las 14:30 |
| ||||
| 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:
Donde InsWeb es el nombre del formulario y Web1 es el name del input.<input name="Web1" type="text" id="Web1" size="30" onBlur="valida('InsWeb', 'Web1');">
Alguna idea? |
| ||||
| 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);" |
| ||||
| 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)">
|
| ||||
| 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:
Para que no agregue "http://" si el text queda vacío.if ((p.value.substring(0,7) != "http://") && (p.value != '')) p.value="http://"+p.value Muchas gracias por tu ayuda. Dentro de poco se viene otro mangazo |