メールノードjsのフォーマットと検証方法 質問する

メールノードjsのフォーマットと検証方法 質問する

メールの形式は次のようになります:[メールアドレス]

どれが一番いい方法でしょうか?

登録用のコンポーネントがあり、次のようなフィールドがあります。

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

ありがとう!

ベストアンサー1

電子メール検証モジュールを使用できます:

var validator = require("email-validator");
validator.validate("[email protected]");

または、依存関係が必要ない場合:

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

おすすめ記事