正则表达式Javascript。为什么我的卷发背带坏了?
我很困惑,为什么我的代码中似乎忽略了大括号?但是,如果我在控制台中运行该命令,它似乎可以正常工作正则表达式Javascript。为什么我的卷发背带坏了?,javascript,regex,Javascript,Regex,我很困惑,为什么我的代码中似乎忽略了大括号?但是,如果我在控制台中运行该命令,它似乎可以正常工作 datetime: function(field) { var regEx = /^\d{1,2}$/; if (field.val().length > 0) { // This works in the console /^\d{1,2}$/.test("22"); console.log(regEx) // /^\dUNDEF$/ console.lo
datetime: function(field) {
var regEx = /^\d{1,2}$/;
if (field.val().length > 0) {
// This works in the console /^\d{1,2}$/.test("22");
console.log(regEx) // /^\dUNDEF$/
console.log(typeof regEx); // Object
console.log(typeof field.val()); // String
return regEx.test(field.val());
} else {
return true;
}
}
多亏了弗里德里克·哈米迪,我脑子里的一个灯泡熄灭了 大括号返回UNDEF的原因是由于Java后端标记系统。我应该让这个Javascript远离它自己文件中的模板
谢谢Frédéric Hamidi:)您要匹配的输入是什么?目前我只是想让它确认一两个数字!要理解为什么失败?日志中的
UNDEF
很奇怪。我怀疑模板/宏系统正在替换源代码中花括号内的标记。如果确实有大括号模板系统正在运行,请尝试此替代正则表达式:/^\d\d?$/