Javascript regexObj.exec()表示TypeError:pattern.exec不是函数 [英] Javascript regexObj.exec() says TypeError: pattern.exec is not a function
本文介绍了Javascript regexObj.exec()表示TypeError:pattern.exec不是函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在 javascript 中使用正则表达式从img标签中提取图像名称.我的问题是 console.log()
引发异常: TypeError:pattern.exec不是函数
.
I want to extract image name from img tag with regex in javascript. My problem is that console.log()
throws Exception:TypeError: pattern.exec is not a function
.
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);
});
推荐答案
var pattern = "/\/([A-Z0-9_-]{1,}\.(?:png|jpg|gif|jpeg))/ig";
创建一个字符串.字符串没有方法 exec
.您的意思是 RegExp
文字:
Creates a string. A string has no method exec
. You meant a RegExp
literal:
var pattern = /\/([A-Z0-9_-]{1,}\.(?:png|jpg|gif|jpeg))/ig;
我想您可能会在这里使用 RegExp.test
方法,如果您所需要的只是确认 src
符合给定的模式:
I suppose you might as wel use the RegExp.test
method here, if all you need is confirmation that src
complies to the given pattern:
var result = /\/([A-Z0-9_-]{1,}\.(?:png|jpg|gif|jpeg))/ig.test(src);
如果您需要一个 matched 值,请使用 RegExp.match
:
If you need a matched value, use 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'
这篇关于Javascript regexObj.exec()表示TypeError:pattern.exec不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文