AngularJS accepts this for a valid URL:
var URL_REGEXP = /^(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?$/;
You can use the ng-pattern attribute to strengthen the pattern used for validation. (I haven't seen a way to weaken the pattern used--perhaps this is a good thing though.)