1. ホーム
  2. android

[解決済み] メールアドレスの検証はどのようにすればよいですか?

2022-03-16 01:06:18

質問

Androidでメールアドレス(ユーザー入力欄など)を検証するための良いテクニックは何でしょうか? org.apache.commons.validator.routines.EmailValidator は利用できないようです。Androidにすでに含まれている、これを行う他のライブラリはありますか、または私はRegExpを使用しなければなりませんか?

解決方法は?

REG-EXを使わないでください。

に適合するほとんどのメールアドレスを正しく検証できるREG-EXは、以下のようなものらしい。 RFC 2822 のようなものでは、まだ失敗します( org.apache.commons.validator.routines.EmailValidator と同様)。

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

電子メールを検証する最も簡単な方法は、提供されたアドレスに確認メールを送信し、それがバウンスした場合、それは有効でないことを意味します。

基本的なチェックを行うのであれば、次のような形式であることを確認するだけでよいでしょう。 *@*

ビジネスロジックに特化した検証が必要な場合は、正規表現を使用して検証を行うことができます。