繁体   English   中英

如何标准化输入 email?

[英]How to normalize the input email?

当我遇到我使用规范化 email 来验证 email 时,我正在使用express-validator ,因此我将规范化的 email 存储到服务器。

验证码:

router.post(
  "/signup",
  [
    check("name").not().isEmpty(),
    check("email").normalizeEmail().isEmail(),
    check("password").isLength({ min: 6, max: 15 }),
  ],
  userController.signupUser
);

输入 email: abc.123@mail.com

标准化 email: abc123@gmail.com (存储在数据库中)

现在的问题是在登录时输入 email 不匹配并显示无效凭据。

您只需要在normalizeEmail ()中传递选项:

normalizeEmail ({"gmail_remove_dots": false "})

您不能删除任何. or _ . or _因为它是用户电子邮件的一部分。

这里是验证 email 地址的示例

经过研究和观察,我注意到注册时使用的代码可用于在登录时对 email 进行规范化,我只需要添加:

 router.post("/login",[check('email').normalizeEmail()], userController.loginUser);

添加 email 后,它正在转换为规范化的,可以直接从请求中使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM