标记看起来像这样......
<img id="holder" src="http://www.domain.com/images/title.size.jpg">
我的jQuery看起来像这样......
var image = jQuery('img#holder').attr('src');
我收到http://www.domain.com/images/title.size.jpg
但我真的只想要http://www.domain.com/images/title.jpg
。我的问题是....从文件名(和一个句点)中的句点之间删除所有内容的最佳方法是什么,所以我留下了http://www.domain.com/images/title.jpg
?
回顾: 只需要JS检查以查看最后一个斜杠后是否有多个句点,如果是,则查找斜杠后的第一个句点的位置和最后一个句点的位置,并删除中间的块。
答案 0 :(得分:2)
我猜size
是一个数字,而不是一个字符串。如果是这样,请使用以下代码:
var image = jQuery('img#holder').attr('src');
image = image.replace(/\.([0-9]+\.)/, '.');
使用此代码www.example.com/image.640.jpg
变为www.example.com/image.jpg
。
如果size的语法类似于640x480
,请使用此方法(注意'x'):
image = image.replace(/\.([0-9x]+\.)/, '.');
答案 1 :(得分:1)
function removebetweendots(str)
{
var arr = str.split("/");
var filename = arr[arr.length-1];
var n = filename.split(".").length;
var newfilename;
if(n>2)
newfilename = filename.split(".")[0] +"."+ filename.split(".")[n-1];
else
newfilename = filename;
arr[arr.length-1] = newfilename;
return arr.join("/");
}
removebetweendots("http://www.domain.com/images/title.size.jpg");
// returns .. "http://www.domain.com/images/title.jpg"
removebetweendots("http://www.domain.com/images/title.size.moredata.jpg");
// returns .. "http://www.domain.com/images/title.jpg"
答案 2 :(得分:0)
答案是使用常规表达式。
var getSize = new RegExp({},"");
{}需要是你想要匹配的任何东西。我不知道它是否会成为.size。每次或数字。
答案 3 :(得分:0)
url = jQuery('img#holder').attr('src'); //the image url
url_parts = url.split('/'); //parts of url broken by '/'
extensions = url_parts.pop().split('.'); //extensions in url (last elements in url_parts broken by '.')
if(extensions.length > 2) //if more than two extensions
url = url_parts.join('/')+'/'+extensions[0]+'.'+extensions.pop() //replace url by joined non extension parts of orignal url, /, first and last extension
alert("My filtered url: "+url)