电子邮件地址是否允许包含非

我正在用Django构建一个网站。 该网站可能会有来自非英语国家的重要用户。

我只想知道是否对电子邮件地址可能包含的字符类型有任何技术限制。

电子邮件地址是否只允许包含英文字母,数字,“_”,“@”和“。”?

他们是否允许包含“é”或“ü”等非英文字母?

他们是否允许包含中文或日文或其他Unicode字符?


电子邮件地址由@之前的localdomain

这些部分的规则是不同的:

对于local part您可以使用ASCII:

  • 拉丁字母A - Z a - z
  • 数字0 - 9
  • 特殊字符!#$%&'* + - / =?^ _`{|}〜
  • 点,它不是第一个或最后一个,也不是按顺序
  • 空格和“(),:; <> @] []字符是有限制的(它们只允许在带引号的字符串中,反斜线或双引号必须以反斜杠开头)
  • 加上自2012年以来,您可以使用U+007F以上的国际字符,编码为UTF-8。
  • Domain part受到更多限制:

  • 拉丁字母A - Z a - z
  • 数字0 - 9
  • 连字符 - 不是第一个或最后一个,允许连续多个连字符。
  • 正则表达式来验证

    ^(([^<>()[].,;:s@"]+(.[^<>()[].,;:s@"]+)*)|(".+"))@(([^<>()[].,;:s@"]+.)+[^<>()[].,;:s@"]{2,})

    希望这可以为你节省一些时间。


    嗯,是。 阅读(至少)从维基百科这篇文章。

    我住在阿根廷,这里允许发送电子邮件,如ñoñó1234@server.com


    在RFC 3696中描述了电子邮件地址中允许的语法,并且非常相关。

    确切的规则[适用于本地部分; '@']之前的部分是任何ASCII字符(包括控制字符)都可能出现引号或用引号引起来的字符串。 当需要引用时,反斜杠字符用于引用以下字符
    [...]
    如果没有引号,本地部分可能由字母,数字或任何特殊字符的任意组合组成! #$%&'* + - / =? ^ _`。 {| }〜
    [...]
    在DNS名称中允许任何字符或位的组合(如八位位组)。 但是,大多数应用程序都需要一个首选表单...

    ...等等,在一定的深度。

    链接地址: http://www.djcxy.com/p/92853.html

    上一篇: Are email addresses allowed to contain non

    下一篇: Get email address from the url with and without escape character of @ in c#