我有一个简单的正则表达式,它应该匹配由字母(0-5)组成的单词,但它似乎不起作用.正则表达式应该如何在ExpressJS中使用?我试图验证的URL可能看起来像something.com/abcd
var express = require("express"), app = express(); app.get("/:id(^[a-z]{0,5}$)", function(req, res) { res.send("The right path!"); }); app.listen(8000);
grebneke.. 6
要设置一个接受/
最多五个ascii字符的URL ,您可以这样做:
var express = require("express"), app = express(); app.get("/[a-z]{0,5}$", function(req, res){ res.send("Right path!"); }); app.listen(8000);
结果:
GET http://localhost:8000/ Right path! GET http://localhost:8000/abcde Right path! GET http://localhost:8000/abcdef Cannot GET /abcdef
注意:默认情况下, Express会执行不区分大小写的路由.要更改它,请将其放在脚本的顶部:
app.set('case sensitive routing', true);
现在,[a-z]
只匹配小写字符:GET /abc
但不是GET /ABC
要设置一个接受/
最多五个ascii字符的URL ,您可以这样做:
var express = require("express"), app = express(); app.get("/[a-z]{0,5}$", function(req, res){ res.send("Right path!"); }); app.listen(8000);
结果:
GET http://localhost:8000/ Right path! GET http://localhost:8000/abcde Right path! GET http://localhost:8000/abcdef Cannot GET /abcdef
注意:默认情况下, Express会执行不区分大小写的路由.要更改它,请将其放在脚本的顶部:
app.set('case sensitive routing', true);
现在,[a-z]
只匹配小写字符:GET /abc
但不是GET /ABC