Network Access Identifier
Appearance
Formal definition of the NAI(Network Access Identifier)
The grammar for the NAI is given below, described in ABNF. nai = username / ( username "@" realm )
username = dot-string
realm = realm "." label
label = let-dig * (ldh-str)
ldh-str = *( Alpha / Digit / "-" ) let-dig
dot-string = string / ( dot-string "." string )
string = char / ( string char )
char = c / ( "\" x )
let-dig = Alpha / Digit
Alpha = %x41-5A / %x61-7A ; A-Z / a-z
Digit = %x30-39 ;0-9
c = < any one of the 128 ASCII characters, but not any special or SP >
x = %x00-7F ; all 127 ASCII characters, no exception
SP = %x20 ; Space character
special = "<" / ">" / "(" / ")" / "[" / "]" / "\" / "." / "," / ";" / ":" / "@" / %x22 / Ctl
Ctl = %x00-1F / %x7F ; the control characters (ASCII codes 0 through 31 ; inclusive and 127)
Examples of valid Network Access Identifiers include:
fred@3com.com fred@foo-9.com fred_smith@big-co.com fred=?#$&*+-/^smith@bigco.com fred@bigco.com nancy@eng.bigu.edu eng!nancy@bigu.edu eng%nancy@bigu.edu
Examples of invalid Network Access Identifiers include:
fred@foo fred@foo_9.com @howard.edu fred@bigco.com@smallco.com eng:nancy@bigu.edu eng;nancy@bigu.edu <nancy>@bigu.edu