Express Validator - 只允许字母、数字和一些特殊字符

kle*_*wis 1 express express-validator

在前端使用 JavaScript,我创建了正则表达式,它允许字母、数字和一些特殊字符,例如......

    function onlyAlphaSomeChar(value) {
      const re = /^[A-Za-z0-9 .,'!&]+$/;
      return re.test(value);
   }
Run Code Online (Sandbox Code Playgroud)

如果我要在后端使用express-validator构建验证过程,那么这相当于什么?

我在 ExpressJs 环境中创建了这么多,但不确定下一步应该是什么样子......


//...

app.post('/', [
    //VALIDATE
    check('comment')
        .notEmpty()
        .withMessage('Comment required')
        .isLength({min: 3,max:280})       
        .withMessage('Comment must be between 3 and 280 characters')
        .escape()
], (req, res) => {

//...

});


Run Code Online (Sandbox Code Playgroud)

Hen*_*hab 5

要检查正则表达式,您可以使用.match(regexp).

因此,在这里,你可以这样做:

//...

app.post('/', [
    //VALIDATE
    check('comment')
        .escape()
        .notEmpty()
        .withMessage('Comment required')
        .isLength({min: 3,max:280})       
        .withMessage('Comment must be between 3 and 280 characters')
        .matches(/^[A-Za-z0-9 .,'!&]+$/)
], (req, res) => {

//...

});
```

Does this answer your question?
Run Code Online (Sandbox Code Playgroud)