如何使用 express-validator npm 验证小时

how to validate hour using express-validator npm

我正在尝试使用 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'}...请帮帮我!!!

我想如果你使用

效果会更好
new RegExp(/^(10|11|12|[1-9]):[0-5][0-9]$/);

new RegExp('^(10|11|12|[1-9]):[0-5][0-9]$');

如果您使用字符串作为正则表达式构造函数的参数,则必须跳过字符串开头和结尾的斜杠。