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

时间:2018-01-20 01:49:50

标签: node.js regex express express-validator

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

1 个答案:

答案 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构造函数的参数,则必须跳过字符串开头和结尾的斜杠。