【发布时间】:2012-11-02 22:36:41
【问题描述】:
我想使用正则表达式验证 Express(和 express-param)中的 http 请求参数。 此参数必须是至少 11 位的数字。
为什么app.param('uid', /^[0-9]{11,}+$/); 返回错误?
为什么app.param('uid', /^[0-9]{11,}/); 不能正常工作?
它阻止1234567890c 之类的参数并接受12345678901c 或12345678901ca。
【问题讨论】:
-
好吧,后者没有指定字符串必须在这 11 位数字之后结束。因此,如果至少有 11 位数字,那么任何东西都可以跟随。第一个错误是什么?
-
编译时返回错误。
SyntaxError: Invalid regular expression: /^[0-9]{11,}+$/: Nothing to repeat at new RegExp (unknown source)