Java RegEx – 10 Digit Mobile Number Validation

The Java RegEx – 10 Digit Mobile Number Validation example shows how to validate a 10 digit mobile number using Java regular expression. It also shows how to validate an 11 digit number having 0 at the start.

How to validate a 10 digit mobile number using a Java regex pattern?

The mobile phone number syntax is fairly simple, at least in India. It should contain all digits and the length must be 10. So basically we want to validate that the input phone number does not have anything except digits 0-9 and the number length must be 10.

Here is the simple pattern to validate this.


Let’s test the pattern with some sample phone numbers.


The first number is 11 digits so it fails the validation. The second number is 9 in length, so it fails too. The third number contains the character “a” which is not allowed in the phone number, so it fails. The fourth number is validated successfully.

Our pattern worked for the regular numbers but what about the mobile number “0123456789”? The length of the number is 10 and it only contains digits, so it should be validated using our pattern. However, this number is not valid because it has a leading 0 so basically, it is only 9 digits in length.


To fix this, we can modify our pattern a little bit like given below.

This pattern forces the first digit to be non-zero. The rest of the 9 digits can be anything from 0 to 9.

Final code:


The first and second number is not 10 in length so both of them fails the validation. The third number contains an alphabet that is not allowed in the mobile number, so it fails as well. The fourth number is 10 in length but starts with a 0, so it fails as well.

RegEx Validation for 11 digits with a leading 0

Some countries allow an additional 0 at the start of the number. For example, in India, we can prepend 0 to any mobile number. In that case, the first digit is “0”, the second digit must be between 1 to 9 and the rest of the 9 digits can be anything from 0 to 9.

Since the starting 0 is optional, we also need to accommodate the 10 digit regular mobile numbers and 11 digit mobile numbers with a leading 0. For this requirement, the pattern could be written as given below.

I have combined two patterns using the “|” (or condition). Here are some of the mobile number validations using this pattern.

This example is part of Java Regular Expression Tutorial with Examples.

Please let me know your views in the comments section below.

About the author



My name is RahimV and I have over 16 years of experience in designing and developing Java applications. Over the years I have worked with many fortune 500 companies as an eCommerce Architect. My goal is to provide high quality but simple to understand Java tutorials and examples for free. If you like my website, follow me on Facebook and Twitter.

Add Comment

Your email address will not be published. Required fields are marked *