【问题标题】:Should you always remove the dots when normalising email?规范化电子邮件时是否应该始终删除这些点?
【发布时间】:2018-03-24 11:42:05
【问题描述】:

我正在查看所有用于电子邮件标准化的模块,并且大多数模块似乎默认删除了电子邮件中的点。我知道 Gmail 会忽略点,但我的印象是许多其他提供商不会。

显然我不希望用户从同一个地址创建多个帐户,但我更担心很多人根本无法创建一个。

一种选择是只删除我猜某些电子邮件的点...

在这方面的任何建议将不胜感激!

【问题讨论】:

    标签: email login normalization


    【解决方案1】:

    我决定自己回答这个问题,因为页面创建后出现的链接实际上提供了比我手动搜索 stackoverflow 的链接更好的链接。显然我的搜索技巧还有待改进......

    第一个链接上的第一个和第二个答案非常有用:

    Do all email providers ignore periods in front of @?

    Should I remove all dots before the @ sign in emails

    我认为我要选择的选项如下: 我将在数据库中有 2 个电子邮件字段。一种是标准化的电子邮件,另一种是显示的电子邮件。 (规范化只会删除 gmail 地址的点。)

    然后我会在用户登录时首先搜索规范化的地址,只有当有多个匹配时,我才会尝试通过引用原始来找出哪个是哪个。

    我已经这样做了,因为我想让人们在登录时弄乱大小写,而现在电子邮件地址的本地部分区分大小写似乎非常罕见。

    如果我遗漏了什么,请告诉我!


    编辑

    此外,对于那些使用节点的人来说,这个模块比我发现的其他模块更具可配置性:

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

    因此,出于我的目的,以下是我标准化所需的全部内容(仍然使 gmail 降低并默认删除点,但对于其他人则不然)

    validation.normalizeEmail(email ,{
        all_lowercase: false
    });
    

    【讨论】:

      猜你喜欢
      • 2019-12-06
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      相关资源
      最近更新 更多