substring得到图像号

时间:2013-07-02 07:41:42

标签: javascript jquery html css

使用子字符串函数我想得到图像号。来自字符串,

我将子字符串应用于下面的属性。这在chrome的最后返回3但在mozilla中它无法正常工作。

问题:  上面的“ - >”在此之后我写了铬值,在第三步的mozilla我得到.jpg而不是3.jpg

alert("obj.back is "+obj.style.backgroundImage);-->url(http://localhost/final.21/img/img3.jpg);
    origImg = obj.style.backgroundImage.split(")")[0];
    alert('origImg is'+origImg);  -->>url(http://localhost/final.21/img/img3.jpg
    alert('after length '+origImg.substring(origImg.length-5)); -->3.jpg
    origImg = origImg.substring(origImg.length-5).split(".")[0];
    alert('origImg is'+origImg);  --> 3

4 个答案:

答案 0 :(得分:1)

试试这个

var myUrl = 'http://localhost/final.21/img/img3.jpg';
alert(myUrl.substr(myUrl.length - 5).slice(0, -4));

答案 1 :(得分:1)

稍后我通过"obj.style.backgroundImage"属性了解到,在Mozilla中我得到url("/final.21/img/img3.jpg");我在Chrome中获得url(/final.21/img/img3.jpg); ...所以我改变了我的子串方法

答案 2 :(得分:0)

我建议使用RegEx提供更易读的解决方案。你的解决方案是非常静态的,如果有什么变化(即你有像img33.jpg这样的东西)它会破坏。另外,正如我已经提到的,我会说它更具可读性,因为它实际上表达了你想要做的事情。

var url = "http://localhost/final.21/img/img3.jpg)";
origImg = url.match("img([0-9]+).jpg");
alert('origImg is '+origImg[1]);

答案 3 :(得分:0)

使用RegEx的简单解决方案

var str = "http://localhost/final.21/img/img3.jpg";
str = str.substring(str.lastIndexOf("/") + 1);
alert(str.match(/[0-9]+/)[0]);

演示:http://jsfiddle.net/drF8y/