我的代码似乎为我的图像网址返回空值。我只想获取链接,但似乎不起作用。
这是我的代码:
var image_url = jQuery('#bgImgWrap').css('background'), image;
// Remove url() or in case of Chrome url("")
image_url = image_url.match(/^url\("?(.+?)"?\)$/);
以下是声明 image_url 后返回的内容:
Image: rgb(255, 255, 255)
url(http://localhost:8000/mysite/images/Our_Services2.jpg)
no-repeat scroll 0% 0% / cover padding-box border-box
这是使用我的正则表达式后返回的内容:
Image: null
我不太擅长正则表达式,但我想知道是否有人能够帮助我获得我需要的正确背景图像网址?谢谢!
最佳答案
正则表达式 /^url\("?(.+?)"?\)$/
中的
^
和 $
使得它不可能匹配。这些元字符告诉正则表达式引擎分别从开始和结束进行匹配。但您的网址并未锚定在开头或结尾。正确的正则表达式是。
/url\([^)]+\)/
另请注意 .match
将返回匹配文本的数组。所以你需要通过索引访问它们。
image_url = image_url.match(/url\([^)]+\)/)[0];
关于javascript - 正则表达式没有解析我的图像网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23299388/