javascript - 从图像名称中删除字符

标签 javascript jquery

我正在尝试删除部分图像名称以创建缩略图。

图像名称是动态创建的,即 HG57JWY_0.jpg、HG57JWY_1.jpg、HG57JWY_2.jpg。我设法使用以下方法删除了 .jpg:

var imageName = $('#slider1 li img').prop('src').match(/(\w*)\.\w{3,4}$/)[1];

我的问题是我不知道如何删除“_0”

return '<img src="sample-img/'+ imageName +'_' + [i -+ 1] + '.jpg">';

这会生成 HG57JWY_0_0.jpg

知道我该怎么做吗?

编辑: 忘了说大图和缩略图在不同的文件夹中。 所以我用 src = http://mydomain.com/sample-img/imagename.jpg 在一个占位符中显示大图像

然后我将大拇指放在 src = http://mydomain.com/sample-img-thumb/imagename.jpg 的列表中

编辑 2:

感谢 Alexander,我使用了我的原始代码

 var imageName = $('#slider1 li img').prop('src').match(/(\w*)\.\w{3,4}$/)[1];

并添加了他的 .split("_")[0]

var imageName = $('#slider1 li img').prop('src').match(/(\w*)\.\w{3,4}$/)[1].split("_")[0];

这采用整个图像 src 即 http://mydomain/imageFolder/image_1.jpg,并仅返回“图像”。

然后我就可以使用任何我想要的路径了

return '<img src="sample-img/'+ imageName +'_' + [i -+ 1] + '.jpg">';

并根据我的需要更改了 sample-img/。

最佳答案

使用split .

var imageName = $('#slider1 li img').prop('src').split("_")[0];

更新

你可以在你的比赛中使用split:

var imageName = $('#slider1 li img').prop('src')
                                    .match(/(\w*)\.\w{3,4}$/)[1]
                                    .split("_")[0];

或者,修改您的正则表达式(如 Dave Rager 的回答中所示)以排除模式 _number 的匹配:

var imageName = $('#slider1 li img').prop('src').match(/(\w+)_\d+\.\w{3,4}$/)[1]

关于javascript - 从图像名称中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12501705/

相关文章:

javascript - 如何更改 Safari 自动播放设置的默认设置?

JQuery UI 日期选择器确定星期六是否点击

javascript - 在 Jquery 中总结和分组 JSON 对象

Javascript 检查事件是否已被触发或单击

javascript - react 。从表中删除特定行

javascript - jQuery AJAX/使用符号发布数据

javascript jquery url 部分 trim

javascript - 如何在方法中使用的 vue apollo 查询中重新获取/更新结果

jquery - 使用c# Ajax请求MVC 4.0

jquery - 检查 css3 动画是否完成,例如使用 jquery 变换比例