用JavaScript替换文件名?

时间:2011-03-17 02:05:06

标签: javascript regex replace

有人可以告诉我如何在JavaScript中执行以下操作吗?我知道如何获取图像的src,我只是想用新的东西替换文件名。

  

/image/any/path/ANY-TEXT_HERE.png

     

/image/any/path/NEWTEXT.png

5 个答案:

答案 0 :(得分:11)

不区分大小写的版本:

path = path.replace(/(.*)\/.*(\.png$)/i, '$1/NEWTEXT$2')

在/后删除i以使其区分大小写。

答案 1 :(得分:1)

到目前为止,所有其他解决方案都假定实际上 IS 是一个路径。它们仅在至少有一个正斜杠时起作用。此测试函数适用于所有情况,包括空路径:

function rename_img_file(text, newname)
{ // Rename file in a IMG src (no query or fragment)
    var re = /^(.*\/)?[^\/]+\.(png|gif|jpe?g)$/i;
    var rep_str = '$1' + newname + '.$2';
    text = text.replace(re, rep_str);
    return text;
}

答案 2 :(得分:0)

var url = "/image/any/path/ANY-TEXT_HERE.png";
var mystring = "NEWTEXT";
var ind1 = url .lastIndexOf('/');
var ind2 = url .lastIndexOf('.');

var new_url = url.substring(0,ind1+1 )+ mystring + url.substring(ind2 );
alert(new_url ); 

答案 3 :(得分:0)

另一种选择:

var filename = "/image/any/path/NEWTEXT.png";
var splitFilename = filename.split("/");
var newPath = s.slice(0, s.length).join("/") + newFilename;

答案 4 :(得分:0)

javascript对文件的限制。 我假设您想在服务器上执行此操作。如果是这样,您应该使用服务器端脚本,而不是客户端。 也许你在谈论一个ajax脚本 如果你能进一步解释一下,也许我可以伸出援手