0

我有一个类名为“分隔符”的 div,它包含一个具有不同路径的 URL,但每个 URL 都有一个相似之处。我所做的是从该 div 获取 URL 并替换特定参数。

HTML 代码:

<div class="separator">
<a href="http://www.mydomain.com/images/s1600/photo.jpg"><img src="http://www.mydomain.com/images/s1600/photo.jpg" height="225" width="400" /></a>
</div>

这是 JavaScript 代码:

var ImageSource = document.getElementsByClassName('separator')[0].getElementsByTagName('a')[0].href;
ImageSource = ImageSource.replace("0", "0-d");

这段代码工作正常,我只想定位最后一个0/s1600/因为当这个值有 2 个零时,它的输出如下:

http://www.mydomain.com/images/s160-d0/photo.jpg

应该是哪个

http://www.mydomain.com/images/s1600-d/photo.jpg

请提出一些解决方案...谢谢:)

4

2 回答 2

1

您可能需要一个正则表达式:

ImageSource = ImageSource.replace(/0(\D*)$/, "0-d$1");

这就是说“匹配 0 后跟一系列非数字字符直到字符串的末尾,捕获非数字字符,0-d然后用非数字替换它们”。

细节:

  • 0文字(匹配 a 0)。
  • 并定义一个捕获(组。)
  • \D意味着“非数字”(所以,不是0-9)。
  • 意思是“*零个或多个先前的东西”(在这种情况下,非数字)。
  • 意思是“字符串的$结尾”

在替换字符串中,$1指的是捕获组内的文本。

于 2013-08-05T06:30:48.497 回答
1

用斜杠替换0后面的。

ImageSource = ImageSource.replace(/0\//, '0-d/')
于 2013-08-05T06:31:57.087 回答