2017-01-16 2 views
1

ノード/エクスプレスAPIルートがあります。 URLを使用してタイムスタンプを入力すると、タイムスタンプと日付を含むJSON応答が返されます。たとえば、http://localhost:3000/1448928000は{"unix": "1448928000"、 "naturalFormat": "12-01-2015 "}代わりに、無効な入力があった場合にnullとペアになっているキー値を返すと想定されるelse文を返します。APIルートの引き外しエラー処理がありません。

なぜこれがどういうわけかわかりません。私は前に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}); 
    } 
}); 

ありがとうございます!あなたが正規表現でバックスラッシュをエスケープする必要が

+0

あなたが条件 '場合(regex.test(タイムスタンプ)が)'満たされていることを確信していますか? (そして、 'timestamp'は実際にタイムスタンプです) –

+0

私はそう思います...私の正規表現は10桁の数字ならtrueになるはずです。 – Quesofat

答えて

関連する問題