gpt4 book ai didi

node.js - 如何格式化和验证电子邮件 Node js

转载 作者:搜寻专家 更新时间:2023-11-01 00:50:30 26 4
gpt4 key购买 nike

我希望电子邮件的格式如下:a@b.c。

哪种方法最好?

我有一个注册组件,我有这样的字段:

<mat-form-field>
<input matInput placeholder="Email" name="email" [(ngModel)]="email" required>
</mat-form-field>

在我的 usersRouter 中我有注册的功能:

router.post('/users/register', (req, res) => {
...
const user = new User({
...
email: req.body.email,
...
});
...
});

另外,我使用 mongo,在 UserSchema 中我有这个用于电子邮件:

email: {
type: String,
required: true
}

谢谢!

最佳答案

您可以使用电子邮件验证器模块:

var validator = require("email-validator");
validator.validate("test@email.com");

或者,如果您不想要任何依赖项:

var emailRegex = /^[-!#$%&'*+\/0-9=?A-Z^_a-z{|}~](\.?[-!#$%&'*+\/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-*\.?[a-zA-Z0-9])*\.[a-zA-Z](-?[a-zA-Z0-9])+$/;

function isEmailValid(email) {
if (!email)
return false;

if(email.length>254)
return false;

var valid = emailRegex.test(email);
if(!valid)
return false;

// Further checking of some things regex can't handle
var parts = email.split("@");
if(parts[0].length>64)
return false;

var domainParts = parts[1].split(".");
if(domainParts.some(function(part) { return part.length>63; }))
return false;

return true;
}

来源:

https://www.npmjs.com/package/email-validator

https://github.com/manishsaraan/email-validator/blob/master/index.js

关于node.js - 如何格式化和验证电子邮件 Node js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52456065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com