Primero
http://imagen.jpg
si bien es una url corresponde al domino imagen en el dominio de primer nivel jpg, eso desde ya no existe
Volviendo al tema de las urls...
Esto es casi lo mejor que podés encontrar
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> //<![CDATA[
function validar() {
var cadena = document.getElementById('texto').value;
var exp_reg = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/g;
var verifica = cadena.match(exp_reg);
if (verifica !== null){
document.getElementById('mensaje').innerHTML = "<b>Array de ur'ls detectadas:<\/b><br \/>" + verifica;
}else {
document.getElementById('mensaje').innerHTML = "No hay url's";
return false;
}
}
//]]>
<textarea rows="10" cols="100" id="texto"> <input type="button" value="validar" onclick="validar();" /><br /> <!-- mensaje validación -->
y digo casi, porque gracias a modRewrite podés hacer cosas como esta
http://mr5.emprear.com/inx.html
En particular el segundo link, en dónde los espacios en blanco no están codificados, demás está decir que esto verifica la sintáxis, sin tener en cuenta si la url es real o no.
Saludos