我有以下需要清理的示例网址
http://image.s5a.com/is/image/saks/0447522591096_647x329.jpg" border="0" params="">
到
http://image.s5a.com/is/image/saks/0447522591096_647x329.jpg
我的问题是,我应该使用哪个正则表达式来灵活删除.extension之后的所有内容,无论它是.jpg,还是.png或.jpeg?
扩展后的文字和符号也会有所不同。
由于
答案 0 :(得分:3)
答案 1 :(得分:1)
您可以使用:
var s = 'http://image.s5a.com/is/image/saks/0447522591096_647x329.jpg" border="0" params="">';
var r = s.replace(/^(.+?\.(png|jpe?g)).*$/i, '$1');
//=> http://image.s5a.com/is/image/saks/0447522591096_647x329.jpg
答案 2 :(得分:0)
正则表达式的替代方法是使用基本的字符串解析。
var fullUrl = 'http://image.s5a.com/is/image/saks/0447522591096_647x329.jpg" border="0" params="">';
var baseUrl = fullUrl.split(' ')[0];
编辑:你可能还想解码这个网址,这样你就不会被%编码绊倒。
var fullUrl = 'http://image.s5a.com/is/image/saks/0447522591096_647x329.jpg" border="0" params="">';
var fullUrl = decodeURI(fullUrl);
var baseUrl = fullUrl.split(' ')[0];
答案 3 :(得分:0)
你不应该自己尝试做这样的事情。所有语言都有用于阅读HTML的库,它们比自己做的更可靠。如果这是客户端javascript,你可以使用jQuery;然后,如果element
是表示HTML元素的jquery对象,element.attr('src')
将是src
属性的值。