Validar url

  • Autor Autor coni
  • Fecha de inicio Fecha de inicio
C

coni

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
hola amigos!! quiero validar una url y consegui esta funcion
PHP:
function validar(str) {
    var expresion = /^(http|https):\/\/[a-z0-9\.-]+\.[a-z]{2,4}(\/.*)?$/
    //Retorna true en caso de que la url sea valida o false en caso contrario
    return expresion.test(str);
 }

//var cadena = "http://google.com"; //retorna true
//var cadena = "http://hola-mundo.com/"; //retorna true
//var cadena = "http://hola.mundo.com/"; //retorna true
var cadena = "http://hola...mundo...com"; // retorna true

if(validar(cadena)){
   alert('Bien');
}else{
    alert('error');
}

anda todo bien pero cuando ingreso una url como estas quiero que devueva false
http://google---.com
http://hola---mundo----.com
http://google..com
http://hola...mundo...com
http://hola..mundo.com
 
¿Te sirvió? Únete a la conversación

Con tu cuenta gratis puedes responder, escribirle al autor por mensaje privado y comprar con Saldo retenido: el pago se libera cuando recibes lo acordado.

Toma 30 segundos · vuelves a este tema al terminar
Uh pero estoy validando con js ese filtro no es de php?
 
Uh pero estoy validando con js ese filtro no es de php?

Ese código es javascript.
Pienso que con expresiones regulares es dificil validar una url, tiene demasiadas combinaciones para poder descartar.

Una buena solución seria con la función "filter_var" con el filtro FILTER_VALIDATE_URL de php.
 
voy a probar con el filtro de php
 
Atrás
Arriba