Implement Email Validator in Android - GeeksforGeeks

14 Dec, 2020
Prerequisite: EditText widget in Android using Java with Examples
Email validation is required to inform the user that the Email entered by the user is not in a valid format. If the user has not entered the Email in the wrong format then the error filed is to be given for the EditText. In this article, it’s been discussed how to implement the Email validator in Android step by step. Have a look at the following image to get an idea of what’s been discussed in this article. Note that we are going to implement this project using the Java language. 
Step 1: Create an empty activity project
Create an empty activity Android Studio project. Select Java as a programming language.
To know how to create an empty activity Android Studio project refer to Android | How to Create/Start a New Project in Android Studio?.
Step 2: Working with the activity_main.xml file
In the main layout of the application, only two of the widgets are implemented. One is the Email EditText field and one Button which when clicked the entered email is to be checked.
Invoke the following code in the activity_main.xml file to implement the UI layout.
XML
<?xml version="1.0" encoding="utf-8"?><RelativeLayout     xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity"    tools:ignore="HardcodedText">      <!--EditText which takes input         as Email from the user-->    <EditText        android:id="@+id/emailField"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_marginStart="16dp"        android:layout_marginTop="64dp"        android:layout_marginEnd="16dp"        android:drawableStart="@drawable/ic_email_black_24dp"        android:drawablePadding="12dp"        android:hint="Email" />      <!--Button which when clicked validates         the entered email is valid or not-->    <Button        android:id="@+id/validateButton"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@+id/emailField"        android:layout_marginStart="16dp"        android:layout_marginTop="16dp"        android:layout_marginEnd="16dp"        android:backgroundTint="@color/colorPrimary"        android:text="VALIDATE"        android:textColor="@android:color/white" />  </RelativeLayout>
Output UI:
Step 3: Working with the MainActivity.java file
In this case, the pattern EMAIL_ADDRESS is used for demonstration purposes.
However, there are 5 more patterns to get validate the input from the user. Those are:
DOMAIN_NAME, IP_ADDRESS, PHONE, TOP_LEVEL_DOMAIN, WEB_URL.
Refer to the Patterns for more information about the predefined patterns in Android.
Invoke the following code inside the MainActivity.java file to implement the Email Validator in this case. Comments are added for a better understanding.
Java
import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.util.Patterns;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;  public class MainActivity extends AppCompatActivity {      // EditText filed for Email    EditText etMail;      // Button to validate the Email address    Button bValidate;      @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);          // register all the UI elements           // with their appropriate IDs        etMail = findViewById(R.id.emailField);        bValidate = findViewById(R.id.validateButton);          // handle the VALIDATE button to show the toast          // message whether the entered email is valid or not        bValidate.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                emailValidator(etMail);            }        });    }      // the function which triggered when the VALIDATE button is clicked    // which validates the email address entered by the user    public void emailValidator(EditText etMail) {          // extract the entered data from the EditText        String emailToText = etMail.getText().toString();          // Android offers the inbuilt patterns which the entered           // data from the EditText field needs to be compared with        // In this case the the entered data needs to compared with          // the EMAIL_ADDRESS, which is implemented same below        if (!emailToText.isEmpty() && Patterns.EMAIL_ADDRESS.matcher(emailToText).matches()) {            Toast.makeText(this, "Email Verified !", Toast.LENGTH_SHORT).show();        } else {            Toast.makeText(this, "Enter valid Email address !", Toast.LENGTH_SHORT).show();        }    }}
android
Technical Scripter 2020
Android
Java
Technical Scripter
Java
Android
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Create and Add Data to SQLite Database in Android?
Broadcast Receiver in Android With Example
Resource Raw Folder in Android Studio
Android RecyclerView in Kotlin
Content Providers in Android with Example
Arrays in Java
Split() String method in Java with examples
For-each loop in Java
Object Oriented Programming (OOPs) Concept in Java
Arrays.sort() in Java with examples