我正在尝试使用express-validator
来验证一小时。我发了这个json:
{
"hour" : "10:30",
"day":"monday"
}
在以下代码中:
var regex = new RegExp('/^(10|11|12|[1-9]):[0-5][0-9]$/');
var hour = req.body.hour;
req.check('hour',"error to add hour").matches(regex);
var errors = req.validationErrors();
if(errors){
res.status(400).send(errors);
} else {
res.status(200).json({hour:'hour ok'});
}
程序抛出以下错误:
[
{
"param": "hour",
"msg": "error to add hour",
"value": "10:30"
}
]
我认为我的错误在于正则表达式的验证。应该发给我{hour:'hour ok'}
...请帮助我!!!
答案 0 :(得分:0)
我想如果你使用
它会更好new RegExp(/^(10|11|12|[1-9]):[0-5][0-9]$/);
或
new RegExp('^(10|11|12|[1-9]):[0-5][0-9]$');
如果使用字符串作为regexp构造函数的参数,则必须跳过字符串开头和结尾的斜杠。