我有一个名为“分隔符”的div,其中包含不同路径的网址,但每个网址都有一个相似之处。我所做的是从该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
请提出一些解决方案......谢谢:)
答案 0 :(得分:1)
你可能想要一个正则表达式:
ImageSource = ImageSource.replace(/0(\D*)$/, "0-d$1");
即“匹配0后跟一系列非数字字符到字符串末尾,捕获非数字字符,并将其替换为0-d
后跟非数字”。
详细说明:
0
是文字(匹配0
)。(
和)
定义捕获组。\D
表示“非数字”(因此,不 0-9)。*
表示“之前的零件或更多件事”(在本例中为非数字)。$
表示“字符串结束”在替换字符串中,$1
指的是捕获组中的文本。
答案 1 :(得分:1)
替换0
后跟斜杠。
ImageSource = ImageSource.replace(/0\//, '0-d/')