有人可以推荐一种使用JavaScript从网址获取网页名称的方法吗?
例如,如果我有:
http://www.cnn.com/news/1234/news.html?a=1&b=2&c=3
我只需要获取“news.html”字符串
谢谢!
答案 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] || '';
}