如何在javascript

时间:2018-06-04 10:39:38

标签: javascript



 var URLS = ['https://www.vsss.co.in/Admin/uploads/722661/bb.jpg','https://www.vsss.co.in/Admin/uploads/755153/scs.jpg','https://www.vsss.co.in/Admin/uploads/704543/1606.jpg']
URLS.forEach(function(element){
    var image_name = element.replace("https://www.vsss.co.in/Admin/uploads/722661/", "");
    console.log(image_name);
});  




任何人都可以帮助我如何从URL获取图像名称和图像扩展名。我试过,但是当722661是动态生成的串行时我会静态输入URL我该如何解决这个问题呢?

3 个答案:

答案 0 :(得分:4)

从最后/ + 1开始获取子字符串。在这里使用字符串函数比任何数组创建方法/替换都要快得多。



const URLS = ['https://www.vsss.co.in/Admin/uploads/722661/bb.jpg','https://www.vsss.co.in/Admin/uploads/755153/scs.jpg','https://www.vsss.co.in/Admin/uploads/704543/1606.jpg'];

function getFileName(s) {
 return s.substring(s.lastIndexOf('/') + 1);
}

const fileNames = URLS.map(getFileName);
console.log(fileNames);




效果:https://jsperf.com/string-function-array/1

答案 1 :(得分:1)

您可以根据/拆分网址并获取最后一个值

var URLS = ['https://www.vsss.co.in/Admin/uploads/722661/bb.jpg','https://www.vsss.co.in/Admin/uploads/755153/scs.jpg','https://www.vsss.co.in/Admin/uploads/704543/1606.jpg']
URLS.forEach(function(element){
    var image_name = element.split("/").pop();
    console.log(image_name.split('.'));
});

答案 2 :(得分:-1)

您可以使用Regex执行此操作。试试这个正则表达式:

/[\w-]+\.jpg/g

并支持更多文件扩展名:

/[\w-]+\.(jpg|png|gif)/g

示例:

var URLS = [ 'https://www.vsss.co.in/Admin/uploads/722661/bb.jpg', 'https://www.vsss.co.in/Admin/uploads/755153/scs.jpg', 'https://www.vsss.co.in/Admin/uploads/704543/1606.jpg' ];

URLS.forEach( function ( element ) {
    var image_name = element.match( /[\w-]+\.jpg/g );
    console.log( image_name.join() );
} );