Prova cosi:
codice:
if (f.messaggio.value.indexOf("http://") != -1 || f.messaggio.value.indexOf("https://") != -1 || f.messaggio.value.indexOf("ftp://") != -1 && f.messaggio.value.indexOf("www.") != -1 ){
var reg = new RegExp("^((http(s)?:\/\/|ftp:\/\/)|(www\\.))([a-z0-9][-.a-z0-9]*)(\\.[a-z]{2,4}[/?]?)([/?][-_~;:.,\'*^+()=!|?£§$%&#A-Za-z0-9/]*)?$");                                             
if (!f.messaggio.value.match(reg)){                                                                                                       
f.messaggio.style.backgroundColor='yellow'
alert("Nel Testo hai inserito un' URL non valido")
f.messaggio.focus();
return false;
}
 }
return true;