使用javascript获取页面网址

时间:2010-03-11 16:55:10

标签: javascript

有人可以推荐一种使用JavaScript从网址获取网页名称的方法吗?

例如,如果我有:

http://www.cnn.com/news/1234/news.html?a=1&b=2&c=3

我只需要获取“news.html”字符串

谢谢!

4 个答案:

答案 0 :(得分:14)

您可以通过window.location.pathname解析非常轻松地完成此操作:

var file, n;

file = window.location.pathname;
n = file.lastIndexOf('/');
if (n >= 0) {
    file = file.substring(n + 1);
}
alert(file);

......或正如其他人所说,你可以用一行正则表达式来做。一种看起来很密集的线条,但上面有一条评论,应该是一个很好的方法。

答案 1 :(得分:5)

我认为是

window.location.pathname.replace(/^.*\/([^/]*)/, "$1");

所以,

var pageTitle = window.location.pathname.replace(/^.*\/([^/]*)/, "$1");

答案 2 :(得分:3)

var url = "http://www.cnn.com/news/1234/news.html?a=1&b=2&c=3";
url = url.replace(/^.*\//, "").replace(/\?.*$/, "");

您可以将url替换为window.location

答案 3 :(得分:0)

您可能还希望在本地磁盘上找到文件路径, 并且您可能不希望在路径中包含任何哈希或获取字符串 -

String.prototype.fileName= function(){
 var f, s= this.split(/[#\?]/, 1)[0].replace(/\\/g,'/');
 s= s.substring(s.lastIndexOf('/')+ 1);
 f=  /^(([^\.]+)(\.\w+)?)/.exec(s) || [];
 return f[1] ||  '';
}