In JavaScript possiamo validare un URL con le espressioni regolari. Ma non è semplice.
Il seguente articolo di Mathias Bynens fa emergere il problema nella sua complessità. Solitamente siamo abituati a pensare a un URL come il semplice indirizzo di un dominio inserito dall'utente.
In realtà un URL può puntare a una directory, a una pagina o semplicemente includere una query string. Quindi per validare un URL — non solo con JavaScript — dobbiamo necessariamente operare una scelta che restringa il campo dei valori permessi.
Una possibile soluzione generica può essere rintracciata su StackOverflow.