Javascript 使用regex解析img标记中的图像名称

Javascript 使用regex解析img标记中的图像名称,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我有一个类型的 现在的问题是,即使bigmagesrc的值为http://localhost/yogurtbar/images/slider/placeholderdefault.jpg 我不明白为什么它没有在字符串中检测到placeholder default.jpg。我在中尝试(并产生)了这个正则表达式,它可以工作 我的代码哪里做错了?不需要regex\ 您可以使用indexOf。这将比regex运行得更快: var bigImage = $(this).find('.img-contain

我有一个
类型的

现在的问题是,即使
bigmagesrc
的值为
http://localhost/yogurtbar/images/slider/placeholderdefault.jpg


我不明白为什么它没有在字符串中检测到
placeholder default.jpg
。我在中尝试(并产生)了这个正则表达式,它可以工作


我的代码哪里做错了?

不需要
regex
\

您可以使用
indexOf
。这将比
regex
运行得更快:

var bigImage = $(this).find('.img-container img')
var bigImageSrc = bigImage[0].src
var regx = /g\bplaceholderdefault\.jpg?\b/g
var match = bigImageSrc.match(regx)
if (bigImageSrc.indexOf('placeholderdefault.jpg') > -1) {
    // Present
如果要使用
regex
检查它:

var bigImage = $(this).find('.img-container img')
var bigImageSrc = bigImage[0].src
var regx = /g\bplaceholderdefault\.jpg?\b/g
var match = bigImageSrc.match(regx)
if (bigImageSrc.indexOf('placeholderdefault.jpg') > -1) {
    // Present

您需要退出

简单的方法是使用
split()

var bigImageSrc='1〕http://localhost/yogurtbar/images/slider/placeholder-default.jpg';    
var filename=bigImageSrc.split(“/”).pop();
log(文件名);

//输出占位符default.jpg
您需要删除开头的
g

if (/placeholderdefault\.jpg/.test(bigImageSrc)) {
    // Present
}
由于在
p
之前(占位符中)不存在
g
字符,因此正则表达式无法找到匹配项

正确的答案是

var regx = /g\bplaceholderdefault\.jpg?\b/g;
            ^
            |
而且,我认为您需要同时匹配
jpg
jpeg
格式

var regx = /\bplaceholderdefault\.jpg?\b/g;

占位符默认值.jpg
!=<代码>占位符默认值.jpg文件名中是否应该有破折号?呃,删除破折号。很抱歉那是不对的。我在图片中没有破折号。还是不行。你为什么要写
jpg?
?你真的想让
g
成为可选的吗?我想你必须在正则表达式中转义“.”。开头的
g
是干什么的?我只是从一个站点生成代码,所以我不完全理解它