Javascript 函数只执行了一半

Javascript 函数只执行了一半,javascript,regex,Javascript,Regex,我在JS中有这个函数: function test(value, requirement) { console.log("value: '" + value + "' requirement: '" + requirement + "'"); var regExp = new RegExp(requirement, ''); console.log("regExp: " + regExp); var str = "" + value; console.lo

我在JS中有这个函数:

function test(value, requirement)
{
    console.log("value: '" + value + "' requirement: '" + requirement + "'");
    var regExp = new RegExp(requirement, '');
    console.log("regExp: " + regExp);
    var str = "" + value;
    console.log("str: " + str);// [1]
    var ok = str.test(regExp);// [2]
    console.log("ok: " + ok); // [3]
    return ok;
}
我在启用Firebug的Firefox中执行它,控制台显示:

value: '123' requirement: '^123$'
regExp: /^123$/
str: 123
直到一切按预期进行。为什么[3]没有被执行?[2]有什么问题?如何解决


编辑:我使用了来自(抱歉,是德语)的代码,并且控制台中没有错误。

test
是RegExp的一种方法,而不是字符串:

regExp.test(str)
test()
是RegExp的方法,而不是字符串-您需要:

var ok = regExp.test(str); // [2]
(另外,您应该始终在JavaScript控制台打开的情况下运行代码,这将显示一条错误消息,帮助您识别问题。)

语法错误

应该是

  regExp.test(str)

test是正则表达式的一种方法。类型字符串没有任何名为“test”的方法。

我打开了控制台,没有显示任何错误。我需要激活吗?这很奇怪。您应该看到类似“uncaughttypeerror:str.test不是函数”的内容。