• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カンマで区切られたメールアドレスを配列に格納したい場合)

カンマで区切られたメールアドレスを配列に格納する方法

このQ&Aのポイント
  • カンマで区切られたメールアドレスを配列に格納する方法について教えてください。
  • 普通にカンマで分割するとメールアドレスの形式が崩れてしまうため、正しい形式で配列に格納する方法を知りたいです。
  • StringTokenizerを使用してカンマで分割する方法を試しましたが、メールアドレスが正しく格納されませんでした。どうすればいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • deadlock
  • ベストアンサー率67% (59/87)
回答No.3

>もしタイプミスで入力されたら・・・。 >やっぱり技術的に無理でしょうか。。 いくらなんでも無茶です(^^; タイプミスを前提とするなら、例示されたケースだけでは不足ですよね? 何らかのルール付けができないのであれば「ランダムな文字列をすべてメールアドレスとして正しく解釈する」というのと同じことですので。 間違った入力には「間違ってます」とメッセージを出すべきだと思います。 (例:カンマで分割した後、各要素がメールアドレスの形式になっていなければエラーと表示) そうできない状況でしょうか? もう少し開発の背景を知りたいです。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

>もしタイプミスで入力されたら・・・。 と言う時や、DoS攻撃等に備えて、処理を行う前にちゃんと入力チェックすることが基本です。(個人で使うものならしなくてもかまいませんが・・・) メールアドレスやURL等は利用できる文字がRFCで決まっているので比較的簡単にチェックできるはずです。ものによっては正規表現でのチェックも可能です。 間違った入力を受け付け処理してしまうような仕様は危険です。仕様を見直しましょう。

kazuoao
質問者

お礼

たしかに仕様があまいですね。 上司にいっておきます。(笑) どうもありがとうございました。

すると、全ての回答が全文表示されます。
  • deadlock
  • ベストアンサー率67% (59/87)
回答No.1

Stirng#split()を使って、カンマの条件をjpなどのトップドメイン+カンマに限定すればましにはなると思いますが、想定外のデータが来るとすぐに破綻しますね。 区切り用のカンマと、データとしてのカンマを機械的に区別するには、 CSV等のように特殊文字をエスケープするルールがないと無理です。 以下は補足要求です。 ドメイン名やアカウント名にカンマが入ってるんですか?? 使用できないはずですが… アカウント名に含める場合には「"」で囲むことによって可能だったかもしれません。 ドメイン名はアルファベット、英数字、ハイフンだったと思います。

kazuoao
質問者

補足

>ドメイン名やアカウント名にカンマが入ってるんですか?? たしかに考えにくいことではありますが、 もしタイプミスで入力されたら・・・。 という心配をしています。。 やっぱり技術的に無理でしょうか。。

すると、全ての回答が全文表示されます。

関連するQ&A