API路由跳闸错误处理时它不应该

时间:2017-01-16 17:55:09

标签: javascript node.js unix express

我有一个Node / Express API路由。它应该返回带有时间戳的JSON响应和我使用URL来设置时间戳之后的日期。例如,http://localhost:3000/1448928000应该响应{" unix" :" 1448928000"," naturalFormat" :" 12-01-2015"}相反,如果输入无效,它会跳转我的else语句,该语句应该返回与null配对的键值。

我不确定为什么会这样。我之前从未使用过Regex。也许这是我的正则表达式?

任何帮助将不胜感激!

router.get('/:unix', function(req, res) {
  var timestamp = req.params.unix;
  var regex = new RegExp("\d{10}");
  if (regex.test(timestamp)) {
    var date = unixToDate(timestamp);
    res.json({ unix : timestamp, naturalFormat : date });
  } else {
    res.json({ unix: null, naturalFormat : null});
  }
});

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要转义正则表达式中的反斜杠:

new RegExp("\\d{10}");