Open In App

How to validate mobile number length in ReactJS ?

Improve
Improve
Like Article
Like
Save
Share
Report

Validating mobile number length in React JS App is an important step to check whether the number entered by the user is genuine or not. It is effective in many case like creating a user form, collection of employee details, etc.

Approaches to validate mobile number length in React Js are

Creating React Application

Step 1: Create a React application using the following command:

npx create-react-app foldername

Step 2: After creating your project folder i.e. foldername, move to it using the following command:

cd foldername

Project Structure

It will look like the following.

Approach 1: Using JavaScript Regular Expression in React JS

Implement a regular expression for input length to validate the mobile number input. This regular expresstion will return false if the input length is more than 10 digits and true if length is valid.

Example: This example implemets a form with mobile number input field validated using regex.

Javascript




// Filename - App.js
 
import React, { useState } from "react";
const App = () => {
    const [mobile, setmobile] = useState("");
    const [isError, setIsError] = useState(false);
    const pattern = new RegExp(/^\d{1,10}$/);
    return (
        <div
            style={{
                margin: "auto",
                textAlign: "center",
            }}
        >
            <h1 style={{ color: "green" }}>
                GeeksforGeeks
            </h1>
            <h3>
                Validate Mobile number length in ReactJS?
            </h3>
            <input
                value={mobile}
                type="number"
                placeholder="Enter mobile number"
                onChange={(e) => {
                    setmobile(e.target.value);
                    if (!pattern.test(e.target.value))
                        setIsError(true);
                    else setIsError(false);
                }}
            />
            <h3>
                Your Mobile Number is:
                {isError ? "Invalid" : "+91" + mobile}
            </h3>
        </div>
    );
};
 
export default App;


Steps to run the applicaition: Use this command to run the output

npm start

Output: This output will be visible on http://localhost:3000/ on browser window.

Peek-2023-10-20-16-58

Approach 2: Using Material UI component

Material UI for React has this component available for us and it is very easy to integrate. We can use the error Property for TextField Component in ReactJS using the following approach.

Steps to Install MUI: Install the material-ui modules using the following command:

npm install @material-ui/core

Dependencies list after installtion

{
"dependencies": {
"@material-ui/core": "^4.12.4",
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.4"
}
}

Example: Implemented TextField input from Material UI with input length validation.

Javascript




// Filename - App.js
 
import React, { useState } from "react";
import TextField from "@material-ui/core/TextField";
import InputAdornment from "@material-ui/core/InputAdornment";
 
const App = () => {
    const [mobile, setmobile] = useState("");
    const [isError, setIsError] = useState(false);
 
    return (
        <div
            style={{
                marginLeft: "40%",
            }}
        >
            <h2>
                Validate Mobile number length in ReactJS?
            </h2>
            <TextField
                type="tel"
                error={isError}
                value={mobile}
                label="Enter Phone Number"
                onChange={(e) => {
                    setmobile(e.target.value);
                    if (e.target.value.length > 10) {
                        return setIsError(true);
                    }
                    setIsError(false);
                }}
                InputProps={{
                    startAdornment: (
                        <InputAdornment position="start">
                            +91
                        </InputAdornment>
                    ),
                }}
            />
            <h3>
                Your Mobile Number is:
                {isError ? "Invalid" : "+91" + mobile}{" "}
            </h3>
        </div>
    );
};
 
export default App;


Step to Run Application: Run the application using the following command from the root directory of the project.

npm start

Output: Now open your browser and go to http://localhost:3000/, you will see the following output. In the above example, we can see when the user exceeds the 10 digits, the TextField color turns to red to indicate the error, this is how we can validate mobile number length in ReactJS.



Last Updated : 30 Oct, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads