Simple and safe URL parsing which allows for some special characters.
function safeParse (str) {
var whack = str.indexOf('://'),
at = str.lastIndexOf('@'),
auth;
str = str.replace(/\/$/, '');
auth = str.substring(whack + 3, at);
return {
url: str.replace(auth + '@', ''),
auth: auth
};
}