Javascript 函数只执行了一半
我在JS中有这个函数: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
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不是函数”的内容。