在Javascript中使用Regex来获取URL中的文件名
Use Regex in Javascript to get the filename in a URL
我正在使用JavaScript尝试从URL获取文件名。
我可以用下面的命令得到它:
var fn=window.location.href.match(/([^/])+/g);
alert(fn[fn.length-1]); // get the last element of the array
,但是否有更简单的方法来获得它(例如,不必使用fn[fn.length-1]
)谢谢! !
在末尾添加一个$
,这样您只会得到最后一部分:
window.location.href.match(/[^/]+$/g);
就我个人而言,我尝试使用简单的字符串操作来完成这样的简单任务。它使代码更具可读性(对于不太熟悉RegEx的人来说)。
var url = window.location.pathname;
var filename = url.substring(url.lastIndexOf('/')+1);
或简单的:
var filename = window.location.pathname.substring(window.location.pathname.lastIndexOf('/')+1);
这并不重要,但这个方法也比RegEx性能更好:http://jsperf.com/get-file-name
window.location.href.match(/'/([^/]+)$/)[1];
您可以使用.pop()来获取数组的最后一个元素;
alert(fn.pop());
有一个jQuery插件可以很容易地解析url并提供对其不同部分的访问。它所做的事情之一是返回文件名。下面是GitHub上的插件:
https://github.com/allmarkedup/jQuery-URL-Parser我建议使用它,避免重复发明轮子。正则表达式是一个特别适用于此的编程领域。
我建议也删除任何'#'或'?'字符串,所以我的答案是:
var fn = window.location.href.split('/').pop().replace(/['#'?].*$/,'');
alert(fn);
split('/').pop()
移除路径replace(/['#'?].*$/,'')
替换'#'或'?
相关文章:
- Firebase-登录时获取url
- 正在捕获.单击以获取URL
- Javascript获取url并通过添加到其中进行重定向
- 如何使用javascript从同一浏览器下的其他页面获取URL?有可能吗
- 如何从Beautiful Soup获取URL
- 我想从iframe获取url
- 使用Javascript获取URL参数
- 在 Javascript 中获取 URL-Parameter 不适用于 urlencode'&'
- 如何创建一个组件,我可以设置在 Angular 2 中的属性中获取 URL 数据
- 如何使用jQuery获取url的最后两个字符
- 使用jquery获取url参数
- 如何获取url中参数的真实值
- 使用表单和POST方法通过Javascript获取URL参数
- nodejs:在OutgoingMessage中获取url
- PHP-忽略换行符获取url
- 如何在Javascript中获取url的hashtag值和amp值
- 获取URL附加的复选框值
- 如何使用Javascript获取URL参数
- 如何使用Javascript获取URL参数
- 从2组单选按钮中获取url