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。它要么未定义,要么不是您认为的代码。