用javascript解析字符串
我在表格上有一个元素:用javascript解析字符串,javascript,regex,Javascript,Regex,我在表格上有一个元素: <img src="/media/BodyPart_7d0cf57e-a461-44fd-903f-ce77b005e299/300/0" class="media-item"> 我想提取Bodypart\uuuxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 这里是字符串的掩码“/{anyt ext Here}/BodyPart_uxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxx/{any number Here}/{a
<img src="/media/BodyPart_7d0cf57e-a461-44fd-903f-ce77b005e299/300/0" class="media-item">
我想提取Bodypart\uuuxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
这里是字符串的掩码“/{anyt ext Here}/BodyPart_uxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxx/{any number Here}/{any number Here}”
最好的一天是哪一天 诸如此类:
var output=document.querySelector(“输出”);
var img=document.querySelector(“.media项”)//假设只有这个类想要的img
var extracted_string=img.src.match(/BodyPart[^\/]*/);
如果(提取的字符串)
output.innerHTML=提取的字符串;
其他的
output.innerHTML=“未找到匹配项”;
尝试以下代码:
var input = "<img src=\"/media/BodyPart_7d0cf57e-a461-44fd-903f-ce77b005e299/300/0\" class=\"media-item\">";
var matches = input.match(/^<img src=.*\/(BodyPart\_\w{8}\-\w{4}\-\w{4}\-\w{4}\-\w{12})\//);
alert(matches[1]);
尝试使用.split()
,.filter()
var img=document.querySelectorAll(“img[src*=BodyPart]”[0];
var res=img.src.split(“/”).filter(函数(src,i){
返回/车身部件/测试(src)
})[0];
控制台日志(res)代码>
可能字符串。匹配(/bodypart\u[^\/]+/i)
就可以了。如果未找到匹配项,则返回null,否则返回第一个匹配项的数组。此处获取错误:img.src.match(/BodyPart[^\/]*/)
表示img.src
未定义。我在调试器img
上使用了outerHTMLouterHTML:“我实际上使用了jquery$(this.prev(“img.media项”);
而不是文档。querySelector
可能这就是uderfinedwas中src
尝试$(img)attr(“src”)的原因
-not availablejquery返回与选择器匹配的所有元素的数组,即使只返回一个。因此,您可以使用:$(this.prev(“img.media item”)[0]
获取img元素,然后您将能够使用:$(this.prev(“img.media item”)[0].src
和$(this.prev)获取src属性img.media项“[0].src.match(/BodyPart[^\/]*/)
以获取请求的URL部分。
BodyPart_7d0cf57e-a461-44fd-903f-ce77b005e299