Javascript regexObj.exec()表示TypeError:pattern.exec不是函数

Javascript regexObj.exec()表示TypeError:pattern.exec不是函数,javascript,jquery,regex,url,Javascript,Jquery,Regex,Url,我想在javascript中使用regex从img标记中提取图像名称。我的问题是console.log()抛出异常:TypeError:pattern.exec不是函数 JS: $("label.btn-danger").on('click',function(e){ e.preventDefault(); var src = $(this).parents("label").find("img").attr("src"); var pattern = "/\/([A-Z

我想在javascript中使用regex从img标记中提取图像名称。我的问题是
console.log()
抛出异常:
TypeError:pattern.exec不是函数

JS:

$("label.btn-danger").on('click',function(e){
    e.preventDefault();
    var src = $(this).parents("label").find("img").attr("src");
    var pattern = "/\/([A-Z0-9_-]{1,}\.(?:png|jpg|gif|jpeg))/ig";
    var result = pattern.exec(src)
    console.log(result);
});
创建一个字符串。字符串没有方法
exec
。您指的是
RegExp
literal:

var pattern = /\/([A-Z0-9_-]{1,}\.(?:png|jpg|gif|jpeg))/ig;
如果您只需要确认
src
符合给定模式,我想您也可以在这里使用
RegExp.test
方法:

var result = /\/([A-Z0-9_-]{1,}\.(?:png|jpg|gif|jpeg))/ig.test(src);
如果需要匹配的值,请使用
RegExp.match

var result = src.match(/\/([A-Z0-9_-]{1,}\.(?:png|jpg|gif|jpeg))/ig);
// let src be '../images/someimage.png'
// then result[0] = '/someimage.png'

删除引号,现在您只有一个字符串?
var pattern=/\/([a-Z0-9\]{1,}\(?:png | jpg | gif | jpeg))/ig谢谢,还有一个问题:这将返回一个包含两个索引的数组?是的
[0]
元素将是完全匹配的输入,
[1]
将是第一个匹配的组。请尝试将
.attr(“src”)
更改为
prop(“src”)
,看看发生了什么我无法提取带有结果[1]的图像名称。我该怎么办?
var result = src.match(/\/([A-Z0-9_-]{1,}\.(?:png|jpg|gif|jpeg))/ig);
// let src be '../images/someimage.png'
// then result[0] = '/someimage.png'