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 "})