Open In App

Implement Phone Number Validator in Android

Last Updated : 23 Aug, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Phone validation is useful for users to check whether the number entered by the user is a valid number or not. If the user has entered the number is not valid then it will show a Toast message to re-enter the number. In this article, we are going to discuss how to implement the phone number validator in Android step by step. A sample video is given below to get an idea about what we are going to do in this article.

Note: This Android article covered in both Java and Kotlin languages. 

Step by Step Implementation 

Step 1: Create a New Project in Android Studio

To create a new project in Android Studio please refer to How to Create/Start a New Project in Android Studio. The code for that has been given in both Java and Kotlin Programming Language for Android.

Step 2: Working with activity_main.xml

Navigate to the app > res > layout > activity_main.xml and add the below code to that file. Below is the code for the activity_main.xml file.

XML




<!-- XML file for phone number validation -->
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    tools:context=".MainActivity">
   
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        tools:ignore="MissingConstraints">
       
      <!-- edittext field to enter mobile number -->
        <EditText
            android:id="@+id/tt"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="30dp"
            android:layout_margin="20dp"
            android:textColor="@color/purple_700"
            android:textAlignment="center"
            android:layout_weight="1"
            android:ems="10"
            android:inputType="textPersonName"
            android:hint="mobile number"
            android:textColorHint="@color/purple_700"/>
       
        <!--  Button for checking validation -->
        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textSize="20dp"
            android:text="Validate"
            android:layout_gravity="center"
            android:textColor="@color/white"
            android:backgroundTint="@color/purple_700"
            android:onClick="check"/>
 
    </LinearLayout>
   
</androidx.constraintlayout.widget.ConstraintLayout>


Step 3: Working with the MainActivity File

Go to the MainActivity File and refer to the following code. Below is the code for the MainActivity File. Comments are added inside the code to understand the code in more detail.

Java




package com.example.gfgfirstapp;
 
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
 
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
 
public class MainActivity extends AppCompatActivity {
   
    EditText textView;
    Button button;
    String phone;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
         // registering with id's
         textView = findViewById(R.id.tt);
         button = findViewById(R.id.button);
       
        // for change the background color of title bar
        ActionBar aBar; aBar= getSupportActionBar();
        ColorDrawable cd = new ColorDrawable(Color.parseColor("#FF00FF00"));
        aBar.setBackgroundDrawable(cd);
 
    }
 
   
   // this function is called on clicking validate button
    public void check(View view) {
        // checking text is entered or empty
        if (!textView.getText().toString().isEmpty()) { 
            // storing the entered number in to string
            phone= textView.getText().toString().trim();
        } else {
            Toast.makeText(MainActivity.this, "Please enter mobile number ", Toast.LENGTH_LONG).show();
        }
            if(android.util.Patterns.PHONE.matcher(phone).matches())
            // using android available method of checking phone
            {
                Toast.makeText(MainActivity.this, "MATCH", Toast.LENGTH_LONG).show();
            }
            else
            {
                Toast.makeText(MainActivity.this, "NO MATCH", Toast.LENGTH_LONG).show();
            }
    }
}


Kotlin




package com.example.gfgfirstapp;
 
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
 
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
 
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
         
        // implementation of onMeasure Custom View in java
        textView = findViewById<EditText>(R.id.tt)
        button = findViewById<Button>(R.id.button)
         
        // for change the background color of title bar
        // for change the background color of title bar
        var aBar: ActionBar aBar = getSupportActionBar()
        val cd = ColorDrawable(Color.parseColor("#FF00FF00"))
        aBar.setBackgroundDrawable(cd)
 
    }
 
    fun check(view: View?) {
        if (!textView.getText().toString().isEmpty()) {
            phone = textView.getText().toString().trim({ it <= ' ' })
        } else {
            Toast.makeText(this@MainActivity, "Please enter mobile number ", Toast.LENGTH_LONG)
                .show()
        }
        if (Patterns.PHONE.matcher(phone).matches()) {
            Toast.makeText(this@MainActivity, "MATCH", Toast.LENGTH_LONG).show()
        } else {
            Toast.makeText(this@MainActivity, "NO MATCH", Toast.LENGTH_LONG).show()
        }
    }
}


Output:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads