从Css propery background url获取文件名

时间:2015-12-17 13:06:26

标签: javascript jquery

$('.icon-displayer').css('background-image');
console.log(a)

给我的价值为url("http://localhost:8080/myApp/icons/xing-square.png") 从这个字符串我想只提取文件名,即 xing-suare.png 我该怎么做?

我试过

var url= $('.icon-displayer').css('background-image');
var filename = url.split('/').pop()

无效

2 个答案:

答案 0 :(得分:3)

Javascript pop方法从数组中删除最后一个元素。使用split然后获取数组的最后位置。

var url= $('.balaIconPicker-icon-displayer').css('background-image');
var array = url.split('/');
var filename = array[array.length - 1];

答案 1 :(得分:0)

如果没有参数,那么卢卡斯的答案是可以的,这是你应该使用的答案。但是如果最后的字符串类似于“test.php?id = 125”,那么你也会得到“?id = 125”,这可能不是你想要的。正则表达式可以帮助您避免这种情况:

var url = "http://www.test.com/directory/test.php?id=128",
    cleanRegexp = /\/([^\.\/]+\.[a-z]{0,3})[^\/]*$/;
var result = cleanRegexp.exec(url);
window.alert(result[1]);

正则表达式找到最后一个斜杠,然后查找任何不是斜线或点的东西,然后抓取点和扩展名,在任何特殊字符之前完成。

以下是Fiddle