Ответ 1
Один из способов:
var lastPart = url.split("/").pop();
Мой url будет выглядеть так:
http://www.example.com/category/action
Как я могу получить слово "действие". Эта последняя часть URL-адреса (после последней косой черты "/" ) будет отличаться каждый раз. Так ли это "действие" или "приключение" и т.д., Как я могу получить слово после последнего закрытия косой черты?
Один из способов:
var lastPart = url.split("/").pop();
Предполагая, что нет косой черты, вы можете получить ее так:
var url = "http://www.mysite.com/category/action";
var parts = url.split("/");
alert(parts[parts.length-1]);
Однако, если может быть конечной косой чертой, вы можете использовать следующее:
var url = "http://www.mysite.com/category/action/";
var parts = url.split("/");
if (parts[parts.length-1].length==0){
alert(parts[parts.length-2]);
}else{
alert(parts[parts.length-1]);
}
str.substring(str.lastIndexOf("/") + 1)
Хотя если ваш URL-адрес может содержать запрос или фрагмент, вы можете захотеть сделать
var end = str.lastIndexOf("#");
if (end >= 0) { str = str.substring(0, end); }
end = str.lastIndexOf("?");
if (end >= 0) { str = str.substring(0, end); }
сначала, чтобы убедиться, что у вас есть URL-адрес с концом в конце.
Проверьте метод split, он делает то, что вы хотите: http://www.w3schools.com/jsref/jsref_split.asp
Хорошо, первое, что я могу придумать, это использовать функцию split
.
string.split(separator, limit)
Поскольку все предлагали функцию расщепления, это будет второй путь дерева:
var c = "http://www.example.com/category/action";
var l = c.match(/\w+/g)
alert(l)
Регулярное выражение - это просто заглушка, чтобы получить идею. В основном вы получаете все слова в URL-адресе.
l = http, www, example, com, category, action
получить последний.
Или путь регулярного выражения:
var lastPart = url.replace(/.*\//, ""); //tested in FF 3
ИЛИ
var lastPart = url.match(/[^/]*$/)[0]; //tested in FF 3