如何规范输入的电子邮件?
How to normalize the input email?
我在使用 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
(存储在数据库中)
现在的问题是在登录时输入的电子邮件不匹配并显示无效凭据。
您不能删除任何 . or _
,因为它是用户电子邮件的一部分。
Here 和验证电子邮件地址的示例
经过研究和观察,我发现注册时使用的代码可以在登录时用于规范电子邮件,我只需要添加:
router.post("/login",[check('email').normalizeEmail()], userController.loginUser);
添加电子邮件后,电子邮件将转换为规范化电子邮件,可以直接从请求中使用。
你只需要在 normalizeEmail ()
:
中传递选项
normalizeEmail ({"gmail_remove_dots": false "})
我在使用 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
(存储在数据库中)
现在的问题是在登录时输入的电子邮件不匹配并显示无效凭据。
您不能删除任何 . or _
,因为它是用户电子邮件的一部分。
Here 和验证电子邮件地址的示例
经过研究和观察,我发现注册时使用的代码可以在登录时用于规范电子邮件,我只需要添加:
router.post("/login",[check('email').normalizeEmail()], userController.loginUser);
添加电子邮件后,电子邮件将转换为规范化电子邮件,可以直接从请求中使用。
你只需要在 normalizeEmail ()
:
normalizeEmail ({"gmail_remove_dots": false "})