Originariamente inviato da whisher
Ho trovato questa ma accetta un po troppa roba
una versione senza query string porfa e password
beh ma le query string sono fondamentali di solito ... a me sembra che quella ne passi addirittura troppi pochi di url ... io uso questa:

function uri(uri){return /^(\w{2,6}:\/\/|www[0-9]*\.)\w+\.\w{2,6}/.test(uri))};

che praticamente analizza la parte iniziale e lascia un pò di tutto poi ... a te è l'inizio che interessa, no?

se invece vuoi escludere ftp, irc, callto e altri tipi di url allora dovresti dirci le regole precise che vorresti accettare per fare una RegExp ad hoc