Foros del Web » Programando para Internet » Javascript »

Validar urls de textarea linea por linea

Estas en el tema de Validar urls de textarea linea por linea en el foro de Javascript en Foros del Web. hola tengo este código javascript para validar las urls provenientes de un textarea dentro de un formulario Código PHP: function  ValidaURL ( url ) { var  ...
  #1 (permalink)  
Antiguo 24/05/2012, 16:15
 
Fecha de Ingreso: abril-2012
Mensajes: 88
Antigüedad: 12 años
Puntos: 1
Pregunta Validar urls de textarea linea por linea

hola tengo este código javascript para validar las urls provenientes de un textarea dentro de un formulario


Código PHP:
function ValidaURL(url) {
var 
regex=/^(ht|f)tps?://w+([.-w]+)?.([a-z]{2,4}|travel)(:d{2,5})?(/.*)?$/i
return regex.test(url);
}
//Validar del campo de formulario de URL
function validar(f)  {
if(!
ValidaURL(f.links.value)){
alert("La dirección URL es incorrecta");
f.links.focus();
return (
false);
}


Todo funciona de maravilla, excepto por no valida 2 o más urls, es decir si alguien escribe 2 o más urls, una en cada linea, salta "La dirección URL es incorrecta".

Lo que necesito es que valide linea por llinea las urls del textarea.

Saludos...

De antemano gracias!
  #2 (permalink)  
Antiguo 24/05/2012, 19:07
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Validar urls de textarea linea por linea

Primero deberías dividir el contenido del textarea partiendo por los saltos de linea
suponiendo que a tu textarea le colocas el id textboxurls

var urls=document.getElementById('textboxurls').value. split('\r\n');

Con esto obtendrías en la variable urls una lista de urls, por lo que podrías recorrer dicha lista:

Código Javascript:
Ver original
  1. for(var i=0;i<urls.length;i++)
  2. if (!ValidaURL(urls[i]))
  3.     alert('url incorrecta');
  #3 (permalink)  
Antiguo 24/05/2012, 21:12
 
Fecha de Ingreso: enero-2009
Ubicación: Mexico
Mensajes: 99
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Validar urls de textarea linea por linea

Porque no haces algo así...


Código:
//Validar del campo de formulario de URL
function validar(f)  
{

var urls = f.links.value.split('\n');

for(i=0;i<urls.lenght;i++)
	{
	if(!ValidaURL(urls[i]))
		{
		alert("La dirección URL es incorrecta");
		f.links.focus();
		return (false);
		}
	}
}
__________________
Yo no desarrollo páginas de internet. Hago Códices Web...
  #4 (permalink)  
Antiguo 24/05/2012, 22:35
 
Fecha de Ingreso: abril-2012
Mensajes: 88
Antigüedad: 12 años
Puntos: 1
Exclamación Respuesta: Validar urls de textarea linea por linea

Cita:
Iniciado por ocp001a Ver Mensaje
Primero deberías dividir el contenido del textarea partiendo por los saltos de linea
suponiendo que a tu textarea le colocas el id textboxurls

var urls=document.getElementById('textboxurls').value. split('\r\n');

Con esto obtendrías en la variable urls una lista de urls, por lo que podrías recorrer dicha lista:

Código Javascript:
Ver original
  1. for(var i=0;i<urls.length;i++)
  2. if (!ValidaURL(urls[i]))
  3.     alert('url incorrecta');
No he podido lograrlos aun...

Recuerda que el script debe en primer lugar separar todos las urls ingresadas en el textarea, en segundo lugar validar las expresiones regulares de una url, es decir reconocer que son urls y caso contrario enviar un alert indicando que la url es incorrecta...

El text area tiene un id="links" y el name del textarea es links tambien...


Deben decirme también como llamar la función desde el formulario, quizás lo estoy haciendo mal...

Esto es lo que tengo por ahora...

Código PHP:
function ValidaURL(url) {
var 
regex=/^(ht|f)tps?://w+([.-w]+)?.([a-z]{2,4}|travel)(:d{2,5})?(/.*)?$/i
return regex.test(url);

}
//Validar del campo de formulario de URL
function validar(f)  {
if(!
ValidaURL(f.links.value) ){
alert("La dirección URL es incorrecta");
f.links.focus();
return (
false);
}

Mi formulario es

Código HTML:
<form action="xxx.php" method="post" name="enlaces" id="enlaces" onsubmit="return validar(this)">

<textarea maxlength="500" placeholder=" Ingresa los enlaces que deseas proteger!" name="links" id="links" rows="15" cols="60" required></textarea>

<input type="submit" name="submit" id="enviar" value="enviar"/>

</form> 
Saludos y porfa ayuda!

Etiquetas: textarea, validar
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 17:27.