Javascript 基于多个值的优雅jQuery替换

Javascript 基于多个值的优雅jQuery替换,javascript,jquery,Javascript,Jquery,Im使用.replace()和jQuery从img URL中删除不同的字符串: src = src.replace("/_w", ""); src = src.replace("_jpg", ""); src = src.replace("_jpeg", ""); src = src.replace("_png", ""); src = src.replace("_gif", ""); 正如你所看到的,它非常灵长,也不是很聪

Im使用.replace()和jQuery从img URL中删除不同的字符串:

src = src.replace("/_w", "");
src = src.replace("_jpg", "");
src = src.replace("_jpeg", "");                 
src = src.replace("_png", "");                  
src = src.replace("_gif", "");
正如你所看到的,它非常灵长,也不是很聪明,无论如何,我可以用一些更优雅的东西来代替它

基本上,url将始终为以下内容之一:

http://local.com/images/_w/image_jpg.jpg
http://local.com/images/_w/image_jpeg.jpeg
http://local.com/images/_w/image_png.png

我是否可以编写一个.replace()来删除/_w/然后删除URL中最后一个“.”和最后一个下划线之间的所有字符?

未测试-但我认为这应该可以做到

src=src.replace(/\/\u w|u jpg|u png|u gif/g')

或者更好的是

src=src.replace(/\/\u w(+?)\./,“$1”)


匹配/w,然后存储所有字符,直到_gif或_jpg等。。。然后将捕获的所有内容替换为存储的内容(后跟一个点)。

正则表达式是您的朋友

如果每次可以使用时更换
/\u w
之间的所有内容确实安全:

  src = src.replace(/\/_w[^.]*/,'');
如果您熟悉正则表达式的基本知识,它将为您节省无数问题的时间。这是一个难以置信的多功能工具


哈哈哈,我不知道我是否同意这一点,但尽管如此,我仍在使用它们。不要吝啬于你的友谊:)