我的网址将如下所示:
http://www.example.com/category/action
我怎样才能得到“行动”这个词。 url的最后一部分(在最后一个正斜杠“/”之后)每次都会有所不同。那么无论是“行动”还是“冒险”等,我怎样才能在最后一次收尾正斜线后得到这个词呢?
答案 0 :(得分:157)
一种方式:
var lastPart = url.split("/").pop();
答案 1 :(得分:9)
假设没有斜杠,你可以这样:
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]);
}
答案 2 :(得分:5)
str.substring(str.lastIndexOf("/") + 1)
虽然您的网址可能包含查询或片段,但您可能想要
var end = str.lastIndexOf("#");
if (end >= 0) { str = str.substring(0, end); }
end = str.lastIndexOf("?");
if (end >= 0) { str = str.substring(0, end); }
首先确保你有一个带有路径的URL。
答案 3 :(得分:0)
查看拆分方法,它可以执行您想要的操作:http://www.w3schools.com/jsref/jsref_split.asp
答案 4 :(得分:0)
嗯,我能想到的第一件事是使用split
函数。
string.split(separator, limit)
由于每个人都提出了拆分功能,所以第二种方式就是这样:
var c = "http://www.example.com/category/action";
var l = c.match(/\w+/g)
alert(l)
regexp只是一个存根来获得这个想法。基本上你会得到网址中的每一个字。
l = http,www,example,com,category,action
得到最后一个。
答案 5 :(得分:0)
或正则表达方式:
var lastPart = url.replace(/.*\//, ""); //tested in FF 3
OR
var lastPart = url.match(/[^/]*$/)[0]; //tested in FF 3