[解決済み] 電子メールアドレスに使用できる文字は何ですか?
質問事項
メールのフルバリデーションについて聞いているのではありません。
で使用できる文字を知りたいだけなのです。
user-name
と
server
の部分は、電子メールアドレスの一部です。これは単純化しすぎかもしれませんし、もしかしたら電子メールアドレスは他の形式をとるかもしれませんが、気にしないでください。私はこの単純な形についてだけ質問しているのです。
user-name@server
(例: [email protected])と、両部分に許容される文字。
解決方法は?
参照 RFC 5322です。インターネットメッセージフォーマット といった具合に、多少なりとも RFC 5321です。簡易メール転送プロトコル .
RFC 822 は、電子メールアドレスも対象としていますが、その構造を主に扱っています。
addr-spec = local-part "@" domain ; global address
local-part = word *("." word) ; uninterpreted
; case-preserved
domain = sub-domain *("." sub-domain)
sub-domain = domain-ref / domain-literal
domain-ref = atom ; symbolic reference
また、例によってウィキペディアにはちゃんと 電子メールアドレスに関する記事 :
メールアドレスのローカルパートには、これらのASCII文字のいずれかを使用することができます。
- 大文字と小文字のラテン文字
A
からZ
とa
からz
;- 桁
0
から9
;- 特殊文字
!#$%&'*+-/=?^_`{|}~
;- ドット
.
ただし,引用しない限り最初または最後の文字ではなく,また,引用しない限り連続して現れないことを条件とする(例.[email protected]
は許されないが"John..Doe"@example.com
は許可される)。- スペースと
"(),:;<>@[\]
文字は制限付きで使用できます(以下の段落で説明するように、引用符で囲まれた文字列の中でのみ使用可能で、さらに、バックスラッシュまたはダブルクォートの前にバックスラッシュを付けなければなりません)。- コメントは、ローカルパートの両端に括弧を付けることで許可されます; 例えば
john.smith(comment)@example.com
と(comment)[email protected]
はどちらも[email protected]
.
ASCII文字に加え
2012年現在
を使用すると、国際的な
上記の文字
U+007F
で説明されているように、UTF-8としてエンコードされています。
RFC6532仕様
で説明されています。
ウィキペディア
. なお、2019年現在、これらの規格はまだProposedと表示されていますが、徐々に展開されています。 この仕様の変更は、基本的に、許可される & の規則に影響を与えることなく、国際文字を有効な英数字 (atext) として追加するもので、以下のような制限された特殊文字があります。
!#
と
@:
.
バリデーションについては 正規表現によるメールアドレスの検証 .
は
domain
の部分が定義されています。
は次のようになります。
:
プロトコルのインターネット標準(Request for Comments)では、コンポーネントホスト名のラベルはASCII文字のみであることを義務付けています。
a
を通してz
(大文字と小文字を区別しない)、数字の0
から9
とハイフン(-
). のホスト名の本来の仕様は RFC 952 ラベルは数字やハイフンで始まったり、ハイフンで終わったりしてはいけないと決められています。しかし、その後の仕様( RFC 1123 )は、ホスト名ラベルが数字で始まることを許可しています。その他の記号、句読点、空白文字は許可されません。
関連
-
[解決済み] HTML5です。2つの入力を持つスライダーは可能か?
-
[解決済み] 使用用途
-
[解決済み] フォーム型Webサイト認証の決定版【終了しました
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] 有効なメールアドレスの最大長を教えてください。
-
[解決済み] mailto:を使ってメールの件名や内容を設定することはできますか?
-
[解決済み] .NETでGmailを使ったメール送信
-
[解決済み] 電子メールアドレスの検証を行うC#コード
-
[解決済み] 送信」ボタンを無効にするには?
-
[解決済み] HTML5のフォームバリデーションでは、なぜドットのないメールが許可されるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Angular 2: formGroup は FormGroup のインスタンスを期待します。1つを渡してください。
-
[解決済み] 使用用途
-
[解決済み] swiftで電子メールアドレスを検証する方法は?
-
[解決済み】GETメソッドとPOSTメソッドはいつ使うべきですか?両者の違いは何ですか?
-
[解決済み】チェックしたラジオボタンのラベルをCSSセレクタで指定する方法
-
[解決済み】FormBuilderコントロールの値を手動で設定する。
-
[解決済み] AngularJSでフォームの入力を条件付きで要求するにはどうすればよいですか?
-
[解決済み】curlを使用してmultipart/form-dataをPOSTする正しい方法は何ですか?
-
[解決済み】HTML5の "required "属性をチェックボックスのグループに使用する?
-
[解決済み] Razorで "Html.BeginForm "を記述する方法