我需要在JavaScript中使用Regex替换按钮,并且想知道如何执行此操作。我知道如何获取按钮的src,但我需要获取文件名,并根据可以切换的两个选项添加一些文本“-next”或删除“-next”。以下是两个不同的文件名:
/images/button.png
/images/button-next.png
非常感谢任何帮助。
答案 0 :(得分:2)
要在最后一个点之前插入-next
,您可以
result = subject.replace(/(?=\.[^.]+$)/g, "-next");
要删除最后一个点之前的-next
:
result = subject.replace(/-next(?=\.[^.]+$)/g, "");
答案 1 :(得分:0)
在我看来,你需要的东西非常简单:
if (addingNext) {
return str.replace(/\.png$/i, '-next.png');
} else {
return str.replace(/-next\.png$/i, '.png');
}
答案 2 :(得分:0)
if (url.match(/-next/))
newUrl = url.replace("-next.", ".");
else newUrl = url.replace(".", "-next.");
答案 3 :(得分:0)
var str = "/images/button.png";
var idx = str.lastIndexOf('.');
var replValue = "-next";
var newStr = str.substring(0,idx) + replValue +
str.substring(idx);
可能有更有效的方法,但这可行。你也想测试没有。找到。你也可以使用正则表达式,但这更明确。
答案 4 :(得分:0)
function toggle(img){
if(img.src.match(/-next\.[^\.]+$/)){
img.src=img.src.replace(/\.[^\.]+$/,'-next$&');
return true;
}
img.src=img.src.replace(/-next(\.[^\.]+)$/,'$1');
return true;
}
适用于任何文件扩展名。
答案 5 :(得分:0)
var src1 = "/images/button.png";
var src2 = "/images/button-next.png";
src1 = src1.replace(/\.(\w+)/, "-next.$1");
src2 = src2.replace("-next", "");