Pues al último juego de "cosas" ponle también un ?.
Estás diciendo que termine en / o en / seguido de uno y sólo uno de esos caracteres (si termina, por ejemplo, en /- también vale, o si termina en /@ o en /a ).
Código Javascript
:
Ver original/^(ftp|http|https):\/\/(www.)?(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/;
Se bueno.