Android
 Computer >> コンピューター >  >> プログラミング >> Android

【Android】メールアドレスを検証する方法を解説!正規表現を使ったバリデーション実装の手順

この記事では、Androidアプリでユーザーが入力したメールアドレスの形式を検証(バリデーション)する方法を、サンプルコード付きで解説します。正規表現を使ったシンプルな手法なので、JavaでAndroid開発を始めたばかりの方にもおすすめの内容です。

作成するアプリの概要

画面上のEditTextにメールアドレスを入力し、「検証」ボタンをタップすると、入力内容がメールアドレスとして妥当な形式かどうかを判定し、その結果をToastで表示します。

ステップ1:新規プロジェクトを作成する

Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な設定項目を入力して、新しいプロジェクトを作成してください。

ステップ2:レイアウトファイル(activity_main.xml)を編集する

res/layout/activity_main.xml に以下のコードを記述します。メールアドレス入力用のEditTextと、検証を実行するButtonを配置しています。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="8dp"
    tools:context=".MainActivity">
    <EditText
        android:layout_centerInParent="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="メールアドレスを入力"
        android:id="@+id/editText"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_below="@id/editText"
        android:layout_marginTop="5dp"
        android:text="検証"
        android:onClick="Validate"/>
</RelativeLayout>

ステップ3:MainActivity.java にロジックを追加する

src/MainActivity.java に以下のコードを記述します。ボタンがタップされたタイミングで入力値を取得して正規表現と照合するようにしているため、画面入力の内容が確実に判定に反映されます。

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    EditText editText;
    String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText = findViewById(R.id.editText);
    }

    public void Validate(View view) {
        String email = editText.getText().toString().trim();
        if (email.matches(emailPattern)) {
            Toast.makeText(getApplicationContext(), "有効なメールアドレスです", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(getApplicationContext(), "無効なメールアドレスです", Toast.LENGTH_SHORT).show();
        }
    }
}

正規表現パターンの解説:「[a-zA-Z0-9._-]+@[a-z]+\.+[a-z]+」は、「英数字と記号(._-)が1文字以上+@+英小文字が1文字以上+ドット+英小文字が1文字以上」という構造を表しています。より厳密なチェックを行いたい場合は、Android標準ライブラリの android.util.Patterns.EMAIL_ADDRESS を利用するのも便利です。

boolean isValid = android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();

ステップ4:AndroidManifest.xml を確認する

androidManifest.xml は以下の通りです。メールアドレス検証のために特別な権限は不要ですが、MainActivityがランチャーアクティビティとして正しく登録されていることを確認しておきましょう。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

アプリを実行して動作を確認しよう

それでは、実際にアプリをエミュレーターまたは実機で実行してみましょう。Android Studioのツールバーにある「Run」アイコンをクリックし、接続済みの端末を選択します。アプリが起動したら、正しい形式のメールアドレスと誤った文字列をそれぞれ入力して「検証」ボタンをタップし、Toastの表示が切り替わることを確認してください。

【Android】メールアドレスを検証する方法を解説!正規表現を使ったバリデーション実装の手順

  1. AndroidでIPアドレスを非表示にする方法|VPN・Tor・プロキシの設定手順を解説

    Androidスマートフォンは、PCやデスクトップよりも手軽に、指先一つで快適にウェブブラウジングができるため、日常的に利用している方も多いのではないでしょうか。しかし、プライバシー保護やより快適な閲覧体験のために、IPアドレスを非表示にしたいと考える方もいます。PCでのIPアドレス非表示については耳にしたことがあっても、Android端末でのやり方はわかりにくいと感じるユーザーも少なくありません。 そこで本記事では、AndroidでIPアドレスを非表示にする方法を、初心者の方にもわかるように丁寧に解説していきます。 AndroidでIPアドレスを非表示にする方法 そもそもIPアドレスとは?

  2. AndroidでIPアドレスを非表示にする方法|VPN・Tor・プロキシの使い方を徹底解説

    インターネットを語るうえで欠かせない用語の一つが「IPアドレス」です。名前は聞いたことがあっても、その仕組みまで詳しく理解する機会は意外と少ないもの。AndroidでIPアドレスを非表示にする前に、まずはIPアドレスの基本と仕組みを押さえておきましょう。 そもそもIPアドレスとは? 「IP」は「Internet Protocol(インターネットプロトコル)」の略で、ウェブ閲覧をはじめとするインターネット通信全体を支える一連の規則・プロトコルのことです。IPアドレスとは、ネットワークに接続された機器に割り当てられる固有の識別番号であり、これによってIPベースのネットワーク上で他の端末と通信でき