功能仅在中途执行

时间:2015-05-29 06:10:59

标签: 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.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

直到1一切都按预期工作。为什么[3]没有执行? [2]的问题是什么?如何解决?

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

3 个答案:

答案 0 :(得分:1)

test是RegExp的一种方法,而不是String:

regExp.test(str)

答案 1 :(得分:1)

test()是RegExp的一种方法,而不是字符串 - 你需要这个:

var ok = regExp.test(str); // [2]

(另外,您应该始终在JavaScript控制台打开的情况下运行您的代码 - 这会显示一条错误消息,可以帮助您识别问题。)

答案 2 :(得分:0)

语法错误

应该是

  regExp.test(str)

test是regEx的一种方法。 type string没有任何名为" test"

的方法