/uplod/dd/images/1234-33-412/5641345641.jpg
改成/uplod/dd/images/1234-33-412/5641345641_small.jpg
和/uplod/dd/images/1234-33-412/s5641345641.jpg
怎么改?用JS,JQ最好

解决方案 »

  1.   

    一个是多加了_small
    另一个是多加了一个s
    对吧?第一种:找到这个字符串最后一个点号出现的位置,在该索引前加_small
    第二种,找到最后一个斜线出现的位置,在该索引后加s
      

  2.   

    <script>
    str="/uplod/dd/images/1234-33-412/5641345641.jpg";
    newstr=str.split(".")[0]+"_small."+str.split(".")[1];
    alert(newstr);</script>
      

  3.   

    <script>
    /*
    /uplod/dd/images/1234-33-412/5641345641.jpg
    /uplod/dd/images/1234-33-412/5641345641_small.jpg
    /uplod/dd/images/1234-33-412/s5641345641.jpg
    */
    var s = "/uplod/dd/images/1234-33-412/5641345641.jpg";s1 = s.replace(/(\d+)(\.jpg)$/, "$1_small$2");s2 = s.replace(/(\d+)(\.jpg)$/, "s$1$2");alert(s1);alert(s2);
    </script>
      

  4.   

    <script>
    var s = "/uplod/dd/images/1234-33-412/5641345641.jpg";
    s1 = s.replace(/(\d+)(\.jpg)$/, "$1_small$2");
    s2 = s.replace(/(\d+\.jpg)$/, "s$1");
    alert(s1);
    alert(s2);
    </script>
      

  5.   


    var str = "/uplod/dd/images/1234-33-412/5641345641.jpg";
    var reg = /(.*\/)([^\.]+)(.*)/;
    var result1 = str.replace(reg,"$1s$2$3");
    var result2 = str.replace(reg,"$1$2_small$3");
    document.write(result1+"<br/>"+result2)
    /*
    /uplod/dd/images/1234-33-412/s5641345641.jpg
    /uplod/dd/images/1234-33-412/5641345641_small.jpg 
    */
      

  6.   

    var regex = /[^\/]+$/;
    var str ="/uplod/dd/images/1234-33-412/5641345641.jpg";
    var r = str.match(regex);
    var s1 = str.replace(regex,r.toString().split(".")[0]+"_small."+r.toString().split(".")[1]);
    var s2 = str.replace(regex,"s"+r);
    document.write(s1+"</br>"+s2);
    /uplod/dd/images/1234-33-412/5641345641_small.jpg
    /uplod/dd/images/1234-33-412/s5641345641.jpg
      

  7.   

    但我有更完美一些的解决办法
    var a = "/uplod/dd/images/1234-33-412/5641345641.jpg";
    alert(a.replace(/(\d+)(\.[^/]+)$/i, "$1_small$2"));
    alert(a.replace(/(\d+)(\.[^/]+)$/i, "s$1$2")); 
    /(\d+)(\.[^/]+)$/i
    \d表示数字,+表示一个或多个数字,括起来表示后面的$1
    \.表示小数点
    [^/]+表示一个或多个不等于/的字符,括起来表示后面的$2
    $表示字符串的结尾,
    /i表示忽略大小写