【问题标题】:Max character limit for email address [duplicate]电子邮件地址的最大字符数限制 [重复]
【发布时间】:2017-01-09 03:20:49
【问题描述】:

我正在向第三方服务发送电子邮件地址值。我有以下正则表达式来验证电子邮件地址:

`^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})$`

但假设有人尝试以电子邮件地址发送:

'WQWQQWWQQWQWWQWQQWW@WEOIWEOIEWOIEWIOWEIOEWIOEWPIOWEPOIWEPEWIOPIOWEOIWEOIEWIOWIOEWIOPEWIOPWIOEPIOWPEIOEWOIEWOIPIOEW.COM' 

这个地址是有效的,然后我从服务的响应对象中得到错误。 我的问题是,域部分可能的最大字符数限制是多少?

【问题讨论】:

  • 关于一个稍微不同的主题:不要使用正则表达式来验证电子邮件地址。只需发送邮件 - Reasons here

标签: c# regex email


【解决方案1】:

一个完整的域名在其文本表示中不能超过 253 个字符。

https://en.wikipedia.org/wiki/Domain_Name_System

标签可以包含 0 到 63 个字符。长度为零的空标签为根区保留。完整域名在其文本表示中的长度不得超过 253 个字符。在 DNS 的内部二进制表示中,最大长度需要 255 个八位字节的存储空间,因为它还存储名称的长度。

【讨论】:

  • 这是不正确的。 RFC1034:为了简化实现,代表域名的八位字节总数(即所有标签八位字节和标签长度的总和)限制为 255。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-04
  • 1970-01-01
  • 2021-08-29
  • 2015-11-19
  • 1970-01-01
  • 2019-11-06
  • 1970-01-01
相关资源
最近更新 更多