Javascript 如何规范输入电子邮件?

Javascript 如何规范输入电子邮件?,javascript,node.js,express,email-validation,express-validator,Javascript,Node.js,Express,Email Validation,Express Validator,我在使用express validator时,遇到了在注册时使用规范化电子邮件验证电子邮件的问题,因此我将规范化电子邮件存储到服务器 验证代码: router.post( "/signup", [ check("name").not().isEmpty(), check("email").normalizeEmail().isEmail(), check("password").isL

我在使用
express validator
时,遇到了在注册时使用规范化电子邮件验证电子邮件的问题,因此我将规范化电子邮件存储到服务器

验证代码:

router.post(
  "/signup",
  [
    check("name").not().isEmpty(),
    check("email").normalizeEmail().isEmail(),
    check("password").isLength({ min: 6, max: 15 }),
  ],
  userController.signupUser
);
输入电子邮件:
abc。123@mail.com

标准化电子邮件:
abc123@gmail.com
(存储在数据库中)


现在的问题是,在登录时,输入的电子邮件不匹配并显示无效凭据。

您无法删除任何
。或者
,因为它是用户电子邮件的一部分


验证电子邮件地址的示例

经过研究和观察,我注意到在注册时使用的代码可以用于在登录时规范电子邮件,我只需添加:

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

添加后,电子邮件将转换为标准化电子邮件,可以直接从请求中使用。

您只需在
normalizeEmail()中传递选项即可。


你能为我正在使用的库提出一个解决方案吗,因为我故意想在后端有一个规范化的电子邮件。我简要阅读了一下,似乎你应该只使用
isEmail()
而不是
normalizeEmail()
。我建议简单使用,以降低其大小写,但我想使用规范化电子邮件,以便其他人无法使用相同签名的电子邮件进行帐户。好的,这应该在您的表上完成,使其唯一或手动检查。
normalizeEmail ({"gmail_remove_dots": false "})