Regexp以匹配以Javascript结尾的文件
Regexp to match file ending with Javascript
我想从列表中的一些文件中获取文件结尾。
<a href="myfile.mp4">File 1</a>
<a href="http://www.files.com/myfile.ogg">File 2</a>
<a href="myfile.mp3">File 3</a>
<a href="http://www.site.com/myfile.jpg">File 4</a>
基本上,文件的结尾可以是任何东西,字符串可以包含不止一个"."。所以我只需要获取结尾。
我想得到一个看起来像:
mp4
ogg
mp3
jpg
谢谢。
您可以获得文档中所有链接的扩展,如下所示:
var endings = [];
var links = document.getElementsByTagName("a");
var matches;
for (var i = 0; i < links.length; i++) {
if (links[i].href) {
matches = links[i].href.match(/'.([^'.]+)$/);
if (matches) {
endings.push(matches[1]);
}
}
}
// the array endings contains a list of all link extensions
以下是代码的工作版本:http://jsfiddle.net/jfriend00/XHKaT/
这里的正则表达式匹配字符串末尾的句点和一个或多个非句点字符。带括号的分组允许我们在没有实现您概述的结果的周期的情况下只增加扩展。
此函数根据需要执行,无需报告重复项,也无需维护文件扩展名的查找顺序。
function getLinkedFileExtensions() {
var i, len=document.links.length, ext=[], exts={};
for (i=0; i<len; i++) {
var a = document.links[i];
if (a.href && a.href.match(/'.([A-Za-z0-9]{1,4})$/)) {
var x = RegExp.$1;
if (!(x in exts)) {
exts[x] = true;
ext.push(x);
}
}
}
return ext;
}
var ext = [].map.call(document.links, function (a) {
return (a.href.match(this) || [])[1] || "";
}, /'.([a-zA-Z0-9]*)$/).filter(String);
http://jsfiddle.net/hZ9cU/
您可以使用jQuery来:
- 获取所有锚点元素
- 对于每个元素,您都可以访问.attr("href")值,该值将是您的地址字符串,即"myfile.mp3"
- 然后,您可以将字符串拆分为"."字符,并将tokenArray[tokenArray.length-1]处的值添加到结果列表中
或者对于香草JS尝试:
function getExtensions(){
var allAnchorTags = document.getElementsByTagName("a");
var extensions = new Array();
for(var i = 0; i < allAnchorTags.length; i++){
var tokenArray = allAnchorTags[i].href.split(".");
extensions[i] = tokenArray[tokenArray.length-1];
}
return extensions;
}
除了使用普通JS语法之外,它的操作与我的算法中描述的相同。试试
请参见馈线
var ext = a.href.split(".");
ext = ext[ext.length -1];
console.log(ext);
编辑:
var d = document.getElementsByTagName("a"),
ext, i, j;
for(i = 0, j = d.length; i<j; i++){
ext = d[i].href.split(".");
ext = ext[ext.length -1];
console.log(ext);
}
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- Angular http.get没有'我不喜欢在开头和结尾加方括号的文本文件
- 咕噜咕噜:在整个文件中附加行.在文件的开头和结尾
- 如何匹配url中可以以querystring结尾的文件扩展名
- Regexp以匹配以Javascript结尾的文件
- 用javascript找到文本文件的结尾
- 如何替换文件的结尾