Edited at

いろいろなユーザー名

More than 1 year has passed since last update.

名前の例
説明
使われる場所
RFC

username@domain.example.com
メールアドレス

RFC5322 (Google翻訳)

username@realm.example.com
Network Access Identifier (NAI)
RADIUSなど

RFC7542 (Google翻訳)

NETBIOS-NAME\USERNAME

NTドメイン、Active Directory

username@upn-suffix.example.com
User Principal Name (UPN)
Active Directory

UID=jsmith,DC=example,DC=net
Distinguished Name (DN)
LDAP

RFC4514 (Google翻訳)


メールアドレス

RFC5322 Section 3.4.1 (Google翻訳) のaddr-specの定義より抜粋します。

   addr-spec       =   local-part "@" domain

local-part = dot-atom / quoted-string / obs-local-part

domain = dot-atom / domain-literal / obs-domain

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]

dtext = %d33-90 / ; Printable US-ASCII
%d94-126 / ; characters not including
obs-dtext ; "[", "]", or "\"

FWSはfolding white space, CFWSはコメントやFWSが発生する場所を表します。以下RFC5322 Section 3.2.2 (Google翻訳) より抜粋します。

   FWS             =   ([*WSP CRLF] 1*WSP) /  obs-FWS

; Folding white space

ctext = %d33-39 / ; Printable US-ASCII
%d42-91 / ; characters not including
%d93-126 / ; "(", ")", or "\"
obs-ctext

ccontent = ctext / quoted-pair / comment

comment = "(" *([FWS] ccontent) [FWS] ")"

CFWS = (1*([FWS] comment) [FWS]) / FWS


NAI

RFC7542 Section 2.2 (Google翻訳) のnaiの定義より抜粋します。

   nai            =   utf8-username

nai =/ "@" utf8-realm
nai =/ utf8-username "@" utf8-realm

utf8-username = dot-string

dot-string = string *("." string)
string = 1*utf8-atext

utf8-atext = ALPHA / DIGIT /
"!" / "#" /
"$" / "%" /
"&" / "'" /
"*" / "+" /
"-" / "/" /
"=" / "?" /
"^" / "_" /
"`" / "{" /
"|" / "}" /
"~" /
UTF8-xtra-char

utf8-realm = 1*( label "." ) label

label = utf8-rtext *(ldh-str)
ldh-str = *( utf8-rtext / "-" ) utf8-rtext
utf8-rtext = ALPHA / DIGIT / UTF8-xtra-char

ちょっとずつ定義が違いますが、Active Directoryを使っている環境では、ここに出て来るのが全部出てきて複雑なことになりがちです。幸運を祈る。