2011-11-03 82 views

回答

3

末添加$所以你只得到最后一部分:

window.location.href.match(/[^/]+$/g); 
+0

这样做;非常感谢!! – user815460

3

就个人而言,我尽量用简单的字符串操作,方便的任务是这样的。它使更多可读的代码(一个人不是很熟悉的正则表达式)。

var url = window.location.pathname; 
var filename = url.substring(url.lastIndexOf('/')+1); 

或者干脆:

var filename = window.location.pathname.substring(window.location.pathname.lastIndexOf('/')+1); 

其他信息

这不是问题的东西那么微不足道,但这种方法也具有更好的性能比正则表达式:http://jsperf.com/get-file-name

0

您可以使用.pop()获取数组的最后一个元素;

alert(fn.pop()); 
1

如何: window.location.href.match(/\/([^/]+)$/)[1];

0

有一个jQuery插件,可以很容易地解析URL和他们的不同部分提供访问。它所做的一件事就是返回文件名。下面是在GitHub上的插件:

https://github.com/allmarkedup/jQuery-URL-Parser

我会建议使用,避免重蹈覆辙。正则表达式是一个特别适用的编程领域。

+0

这似乎是矫枉过正从URL中提取文件名。 –

+0

如果你正在使用jQuery,并定期与网站合作,我认为你节省的时间会超过缺点。 – Slavo

+0

我可以理解这个观点,但OP甚至没有标记jQuery。 –

相关问题