3
我已經從其他堆棧溢出帖子中讀過,您可以使用正則表達式來路由各種URL。我從來沒有真正使用過RegExps,所以我需要一些幫助。我將如何路由所有以/ lobby /後跟十位數字開頭的網址?像這樣正則表達式幫助 - 快速路由網址
app.get("/lobby/0000000000", function (req, res) ...
謝謝。
我已經從其他堆棧溢出帖子中讀過,您可以使用正則表達式來路由各種URL。我從來沒有真正使用過RegExps,所以我需要一些幫助。我將如何路由所有以/ lobby /後跟十位數字開頭的網址?像這樣正則表達式幫助 - 快速路由網址
app.get("/lobby/0000000000", function (req, res) ...
謝謝。
這裏有一個工作示例:
app.get(/^\/lobby\/[0-9]{10}$/, function(req, res) {
// route handler here
});
或者,你可以使用參數檢查:
app.param(function(name, fn){
if (fn instanceof RegExp) {
return function(req, res, next, val){
var captures;
if (captures = fn.exec(String(val))) {
req.params[name] = captures;
next();
} else {
next('route');
}
}
}
});
app.param('id', /^[0-9]{10}$/);
app.get('/lobby/:id', function(req, res){
res.send('user ' + req.params.id);
});
app.get('/lobby/:id', function(req, res){
console.log(req.params.id);
res.end();
});
或
app.get('/lobby/((\\d+))', function(req, res){
console.log(req.params[0]);
res.end();
});
,或者如果URL必須準確10位數字:
app.get('/lobby/((\\d+){10})', function(req, res){
console.log(req.params[0]);
res.end();
});
非常感謝!我幾乎在那裏。 – Harangue