规范化电子邮件地址是什么意思?
What does it mean to normalize an email address?
在此 example 中,Django 讨论了使用 self.normalize_email(email)
规范化电子邮件地址,其中 self
是 BaseUserManager
。当我搜索 "normalizing emails" 时,它似乎是所有平台的一种做法。我看到了有关如何操作的教程,但没有真正解释它是什么以及它的用途。
对于电子邮件地址,foo@bar.com
和 foo@BAR.com
是等价的;根据 RFC 规范,域部分不区分大小写。规范化意味着提供规范表示,以便任何两个等效的电子邮件字符串规范化为同一事物。
comments on the Django method说明:
Normalize the email address by lowercasing the domain part of it.
规范化电子邮件的一个应用是防止多次注册。如果您的应用程序允许 public 注册,您的应用程序可能会吸引“不友善”的类型,他们可能会尝试使用相同的电子邮件地址多次注册,方法是混合符号、大写和小写字母来制作变体相同的电子邮件地址。
来自 Django's repository,normalize_email
的文档字符串如下:
Normalize the email address by lowercasing the domain part of it.
此方法所做的是将电子邮件的域部分小写,因此这部分是 case insensitive,因此请考虑以下示例:
>>> from django.contrib.auth.models import BaseUserManager
>>> BaseUserManager.normalize_email("user@example.com")
user@example.com
>>> BaseUserManager.normalize_email("user@EXAMPLE.COM")
user@example.com
>>> BaseUserManager.normalize_email("user@example.COM")
user@example.com
>>> BaseUserManager.normalize_email("user@EXAMPLE.com")
user@example.com
>>> BaseUserManager.normalize_email("user@ExAmPlE.CoM")
user@example.com
如您所见,所有电子邮件都是相同的,因为 @
之后的大小写无关紧要。
在此 example 中,Django 讨论了使用 self.normalize_email(email)
规范化电子邮件地址,其中 self
是 BaseUserManager
。当我搜索 "normalizing emails" 时,它似乎是所有平台的一种做法。我看到了有关如何操作的教程,但没有真正解释它是什么以及它的用途。
对于电子邮件地址,foo@bar.com
和 foo@BAR.com
是等价的;根据 RFC 规范,域部分不区分大小写。规范化意味着提供规范表示,以便任何两个等效的电子邮件字符串规范化为同一事物。
comments on the Django method说明:
Normalize the email address by lowercasing the domain part of it.
规范化电子邮件的一个应用是防止多次注册。如果您的应用程序允许 public 注册,您的应用程序可能会吸引“不友善”的类型,他们可能会尝试使用相同的电子邮件地址多次注册,方法是混合符号、大写和小写字母来制作变体相同的电子邮件地址。
来自 Django's repository,normalize_email
的文档字符串如下:
Normalize the email address by lowercasing the domain part of it.
此方法所做的是将电子邮件的域部分小写,因此这部分是 case insensitive,因此请考虑以下示例:
>>> from django.contrib.auth.models import BaseUserManager
>>> BaseUserManager.normalize_email("user@example.com")
user@example.com
>>> BaseUserManager.normalize_email("user@EXAMPLE.COM")
user@example.com
>>> BaseUserManager.normalize_email("user@example.COM")
user@example.com
>>> BaseUserManager.normalize_email("user@EXAMPLE.com")
user@example.com
>>> BaseUserManager.normalize_email("user@ExAmPlE.CoM")
user@example.com
如您所见,所有电子邮件都是相同的,因为 @
之后的大小写无关紧要。