正则表达式匹配background-url不能正常工作

时间:2017-07-13 05:32:03

标签: javascript ios safari

鉴于后台网址的格式通常是网址(" http://foo.com/picture.jpg"),我一直在使用正则表达式从引号之间提取网址。但是我发现这并不适用于Safari而且无法理解为什么。这是我的代码:

var currentBg = $('#featureImage').css('background-image');
var url = currentBg.match(/(["'])(\\?.)*?\1/)[0];

1 个答案:

答案 0 :(得分:0)

原因是当您访问'背景图片' Safari上的属性至少在我的ipad上,它不会将URL存储在字符串中,它只是url(http://foo.com/image.jpg),因此正则表达式不匹配。

我修改了我的正则表达式以捕获括号之间的内容,并用''

替换任何引号
str.match(/\((.*?)\)/)[1].replace(/('|")/g,'');