Javascript replace()方法不起作用

Javascript replace() method not working

本文关键字:方法 不起作用 replace Javascript      更新时间:2023-09-26

我有这个URL:

http://example.com/example/sample/example.jpg

我想要这个:

http:''/''/example.com''/example''''/sample.jpg

I wrote this code : 
function addslashes(str) {
  return str.replace('/', ''/');
}
var url = http://example.com/example/sample/example.jpg
var t = addslashes(url);
alert(t);

作为提醒,我仍然得到旧的URL。这个代码出了什么问题?谢谢

如果要打印',则必须使用另一个反斜杠对其进行转义。

function addslashes(str) {
  return str.replace(/'//g, '''/');
}

此外,如果希望replace函数替换所有出现的内容,则必须传递带有g修饰符的regex,而不是字符串。如果你传递一个字符串,它只会替换第一个匹配项,然后结束,但使用修饰符,它会找到所有匹配项。

试试这个代码fiddle:

function addslashes(str) {
  return str.replace(/'//g, '''/');
}

您需要添加g以将其设置为全局,替换所有的"/",并在替换字符串中添加"''"。

您必须添加一个额外的反斜杠才能正确转义。

使用replace,您只能替换第一个匹配项。您也可以使用正则表达式,正如您在其他帖子中看到的那样。但您也可以将其与简单的splitjoin功能一起使用

function addslashes(url) {
    url.split('/').join('''/');
}

演示