Car*_*arl 15 javascript url file
如何使用javascript找到URL的文件扩展名?示例网址:
http://www.adobe.com/products/flashplayer/include/marquee/design.swf?width=792&height=294
Run Code Online (Sandbox Code Playgroud)
我只想要整个网址的'swf'.如果网址也采用以下格式,我需要它来查找扩展名
http://www.adobe.com/products/flashplayer/include/marquee/design.swf
Run Code Online (Sandbox Code Playgroud)
显然这个URL背后没有参数.
有人知道吗?
提前致谢
iCo*_*nor 17
这样的事可能吗?
var fileName = 'http://localhost/assets/images/main.jpg';
var extension = fileName.split('.').pop();
console.log(extension, extension === 'jpg');
Run Code Online (Sandbox Code Playgroud)
您在控制台中看到的结果是.
jpg true
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因你有这样的网址,something.jpg?name=blah或者something.jpg#blah你可以做到
extension = extension.split(/\#|\?/g)[0];
Run Code Online (Sandbox Code Playgroud)
辍学
var fileExtension = function( url ) {
return url.split('.').pop().split(/\#|\?/)[0];
}
Run Code Online (Sandbox Code Playgroud)
T.T*_*dua 10
function get_url_extension( url ) {
return url.split(/\#|\?/)[0].split('.').pop().trim();
}
Run Code Online (Sandbox Code Playgroud)
例:
get_url_extension('https://example.com/folder/file.jpg?param.eter#hash=12.345');
//output ------> jpg
Run Code Online (Sandbox Code Playgroud)
对于扩展,您可以使用此功能:
function ext(url) {
// Remove everything to the last slash in URL
url = url.substr(1 + url.lastIndexOf("/"));
// Break URL at ? and take first part (file name, extension)
url = url.split('?')[0];
// Sometimes URL doesn't have ? but #, so we should aslo do the same for #
url = url.split('#')[0];
// Now we have only extension
return url;
}
Run Code Online (Sandbox Code Playgroud)
或更短:
function ext(url) {
return (url = url.substr(1 + url.lastIndexOf("/")).split('?')[0]).split('#')[0].substr(url.lastIndexOf("."))
}
Run Code Online (Sandbox Code Playgroud)
例子:
ext("design.swf")
ext("/design.swf")
ext("http://www.adobe.com/products/flashplayer/include/marquee/design.swf")
ext("/marquee/design.swf?width=792&height=294")
ext("design.swf?f=aa.bb")
ext("../?design.swf?width=792&height=294&.XXX")
ext("http://www.example.com/some/page.html#fragment1")
ext("http://www.example.com/some/dynamic.php?foo=bar#fragment1")
Run Code Online (Sandbox Code Playgroud)
注意:文件扩展名.在开头提供了dot().所以如果result.charat(0) != "."没有扩展名.
这就是答案:
var extension = path.match(/\.([^\./\?]+)($|\?)/)[1];
Run Code Online (Sandbox Code Playgroud)
url.split('?')[0].split('.').pop()
Run Code Online (Sandbox Code Playgroud)
通常 #hash 不是 url 的一部分,而是单独处理
var doc = document.location.toString().substring(document.location.toString().lastIndexOf("/"))
alert(doc.substring(doc.lastIndexOf(".")))
Run Code Online (Sandbox Code Playgroud)