Express.js – 过滤URL中的数字和string
我想知道是否有可能检查一个Express.js URL查询的特定格式(Regexexpression式),在查询本身(无需调用callback)。
具体来说,我想执行一个不同的操作,具体取决于查询URL是string还是数字(如用户标识和用户名):
app.get('/:int', function(req, res){ // Get user info based on the user id. } app.get('/:string', function(req, res){ // Get user info based on the user name. }
我可以在app.get
的第一个参数中过滤数字,还是不可能,除了在callback中进行testing:
/(\d)+/.test(req.params.int) /(\w)+/.test(req.params.string)
您可以使用括号为命名参数指定模式:
app.get('/:int(\\d+)', function(req, res){ // Get user info based on the user id. } app.get('/:string(\\w+)', function(req, res){ // Get user info based on the user name. }
express路由器也接受regexp作为第一个参数。
app.get(/(\d+)/, function(req, res, next) {}) app.get(/(\w+)/, function(req, res, next) {})
- Javascript正则expression式“replace(/ / g)”删除数字?
- Express:顶级path的可选尾部斜杠
- var express = require('express') – 无法读取undefined的属性'prototype'
- YouTube的正则expression式:经testing挑选video和播放列表ID,但Node.js不会
- Node.js / Express表单post req.body不工作
- 在MySQL表中的阿拉伯文字?
- 如何使用正则expression式匹配高价值的Unicode字符?
- 如何使用Express处理Node.js中的错误
- 只使用JWT将会话数据保留在后端