Using window.location.pathname I get "/Mobile/Evol/12-20-2011".
Using Javascript, how could I drop off everything after "Evol/" so that I get "/Mobile/Evol/"?
Using window.location.pathname I get "/Mobile/Evol/12-20-2011".
Using Javascript, how could I drop off everything after "Evol/" so that I get "/Mobile/Evol/"?
You can use a combination of the substring() and lastIndexOf() functions to easily cut off everything after the last /:
uri = "/Mobile/Evol/12-20-2011";
newUri = uri.substring(0, uri.lastIndexOf('/'));
as @josh points out if there are more directories after "/Evol", this fails. You can fix this by searching for the string 'Evol/' then adding its length back to the substring end:
dir = "Evol/";
newUri = uri.substring(0, uri.lastIndexOf(dir) + dir.length);
Chrome console gives me this output:
> uri = "/Mobile/Evol/12-20-2011";
"/Mobile/Evol/12-20-2011"
> dir = "Evol/";
newUri = uri.substring(0, uri.lastIndexOf(dir) + dir.length);
"/Mobile/Evol/"
Evol, which may not be correct.Assuming you want to cut off any query and fragment completely:
url.replace(/\/Evol\/[^?#]*(?:[?#].*)?$/, '/Evol')
To break this regex down:
\/Evol\/ matches the literal text "/Evol/". The \'s are necessary since //Evol/... would be a line comment, and a / elsewhere in a regex ends the regex.[^?#] matches anything except a query or fragment delimiter(?:...)? just makes something optional[?#].* matches a query or fragment start followed by any number of non-whitespace chars$ forces the match to reach the end of the input.