Javascript 字符串方法匹配上的NodeJS错误
我已经试了好几个小时了,找不出它发生的原因 我只是在字符串上调用Javascript 字符串方法匹配上的NodeJS错误,javascript,string,node.js,Javascript,String,Node.js,我已经试了好几个小时了,找不出它发生的原因 我只是在字符串上调用match方法,这就是我得到的结果: TypeError:无法调用未定义的方法“match” 以下是我正在尝试的代码: function validateURL (url) { return url.match( '((?:http|https)(?::\\/{2}[\\w]+)(?:[\\/|\\.]?)(?:[^\\s"]*))' ); } 我还尝试使用了toString(),但得到了相同的错误,如: TypeErro
match
方法,这就是我得到的结果:
TypeError:无法调用未定义的方法“match”
以下是我正在尝试的代码:
function validateURL (url) {
return url.match( '((?:http|https)(?::\\/{2}[\\w]+)(?:[\\/|\\.]?)(?:[^\\s"]*))' );
}
我还尝试使用了toString()
,但得到了相同的错误,如:
TypeError:无法调用未定义的方法“toString”
我不知道为什么会这样。还为
url
检查了typeof
,并获得了string
令人惊讶的是,添加“+
使它工作起来
function validateURL (url) {
return "" + url.match( '((?:http|https)(?::\\/{2}[\\w]+)(?:[\\/|\\.]?)(?:[^\\s"]*))' );
}
您确定typeof仍然是
字符串
?在返回之前放置一个console.log(typeof(url))
,然后再试一次。@aurbano是的,正如我已经提到的,我确信我已经调试了几个小时了。还尝试了您的代码,string
given。它要么未定义,要么不是您认为的代码。