# How to check Aadhaar number is valid or not using Regular Expression

• Last Updated : 31 Mar, 2022

Given string str, the task is to check whether the given string is a valid Aadhaar number or not by using Regular Expression. The valid Aadhaar number must satisfy the following conditions:

1. It should have 12 digits.
3. It should not contain any alphabet and special characters.
4. It should have white space after every 4 digits.

Examples:

Input: str = “3675 9834 6012”
Output: true
Explanation:
The given string satisfies all the above mentioned conditions. Therefore, it is a valid Aadhaar number.
Input: str = “3675 9834 6012 8”
Output: false
Explanation:
The given string contains 13 digits. Therefore, it is not a valid Aadhaar number.

Approach: The idea is to use Regular Expression to solve this problem. The following steps can be followed to compute the answer:

• Get the String.
• Create a regular expression to check valid Aadhaar number as mentioned below:

regex = “^[2-9]{1}[0-9]{3}\\s[0-9]{4}\\s[0-9]{4}\$”;

• Where:
• ^ represents the starting of the string.
• [2-9]{1} represents the first digit should be any from 2-9.
• [0-9]{3} represents the next 3 digits after the first digit should be any digit from 0-9.
• \\s represents white space.
• [0-9]{4} represents the next 4 digits should be any from 0-9.
• \\s represents white space.
• [0-9]{4} represents the next 4 digits should be any from 0-9.
• \$ represents the ending of the string.
• Match the given string with the regular expression. In Java, this can be done by using Pattern.matcher().
• Return true if the string matches with the given regular expression, else return false.

Below is the implementation of the above approach:

## C++

 `// C++ program to validate the``// Aadhaar number using Regular Expression``#include ``#include ``using` `namespace` `std;` `// Function to validate the Aadhaar number.``bool` `isValidAadhaarNumber(string str)``{` `  ``// Regex to check valid Aadhaar number.``  ``const` `regex pattern(``"^[2-9]{1}[0-9]{3}\\s[0-9]{4}\\s[0-9]{4}\$"``);` `  ``// If the Aadhaar number``  ``// is empty return false``  ``if` `(str.empty())``  ``{``     ``return` `false``;``  ``}` `  ``// Return true if the Aadhaar number``  ``// matched the ReGex``  ``if``(regex_match(str, pattern))``  ``{``    ``return` `true``;``  ``}``  ``else``  ``{``    ``return` `false``;``  ``}``}` `// Driver Code``int` `main()``{``  ``// Test Case 1:``  ``string str1 = ``"3675 9834 6015"``;``  ``cout << isValidAadhaarNumber(str1) << endl;` `  ``// Test Case 2:``  ``string str2 = ``"4675 9834 6012 8"``;``  ``cout << isValidAadhaarNumber(str2) << endl;` `  ``// Test Case 3:``  ``string str3 = ``"0175 9834 6012"``;``  ``cout << isValidAadhaarNumber(str3) << endl;` `  ``// Test Case 4:``  ``string str4 = ``"3675 98AF 60#2"``;``  ``cout << isValidAadhaarNumber(str4) << endl;` `  ``// Test Case 5:``  ``string str5 = ``"417598346012"``;``  ``cout << isValidAadhaarNumber(str5) << endl;``  ``return` `0;``}` `// This code is contributed by yuvraj_chandra`

## Java

 `// Java program to check valid``// Aadhaar number using regex.` `import` `java.util.regex.*;``class` `GFG {` `    ``// Function to validate Aadhaar number.``    ``public` `static` `boolean``    ``isValidAadhaarNumber(String str)``    ``{``        ``// Regex to check valid Aadhaar number.``        ``String regex``            ``= ``"^[2-9]{1}[0-9]{3}\\s[0-9]{4}\\s[0-9]{4}\$"``;` `        ``// Compile the ReGex``        ``Pattern p = Pattern.compile(regex);` `        ``// If the string is empty``        ``// return false``        ``if` `(str == ``null``) {``            ``return` `false``;``        ``}` `        ``// Pattern class contains matcher() method``        ``// to find matching between given string``        ``// and regular expression.``        ``Matcher m = p.matcher(str);` `        ``// Return if the string``        ``// matched the ReGex``        ``return` `m.matches();``    ``}` `    ``// Driver Code.``    ``public` `static` `void` `main(String args[])``    ``{` `        ``// Test Case 1:``        ``String str1 = ``"3675 9834 6015"``;``        ``System.out.println(isValidAadhaarNumber(str1));` `        ``// Test Case 2:``        ``String str2 = ``"4675 9834 6012 8"``;``        ``System.out.println(isValidAadhaarNumber(str2));` `        ``// Test Case 3:``        ``String str3 = ``"0175 9834 6012"``;``        ``System.out.println(isValidAadhaarNumber(str3));` `        ``// Test Case 4:``        ``String str4 = ``"3675 98AF 60#2"``;``        ``System.out.println(isValidAadhaarNumber(str4));` `        ``// Test Case 5:``        ``String str5 = ``"417598346012"``;``        ``System.out.println(isValidAadhaarNumber(str5));``    ``}``}`

## Python3

 `# Python3 program to validate``# Aadhaar number using regex.``import` `re` `# Function to validate Aadhaar``# number.``def` `isValidAadhaarNumber(``str``):` `    ``# Regex to check valid``    ``# Aadhaar number.``    ``regex ``=` `(``"^[2-9]{1}[0-9]{3}\\"` `+``             ``"s[0-9]{4}\\s[0-9]{4}\$"``)``    ` `    ``# Compile the ReGex``    ``p ``=` `re.``compile``(regex)` `    ``# If the string is empty``    ``# return false``    ``if` `(``str` `=``=` `None``):``        ``return` `False` `    ``# Return if the string``    ``# matched the ReGex``    ``if``(re.search(p, ``str``)):``        ``return` `True``    ``else``:``        ``return` `False` `# Driver code` `# Test Case 1:``str1 ``=` `"3675 9834 6015"``print``(isValidAadhaarNumber(str1))` `# Test Case 2:``str2 ``=` `"4675 9834 6012 8"``print``(isValidAadhaarNumber(str2))` `# Test Case 3:``str3 ``=` `"0175 9834 6012"``print``(isValidAadhaarNumber(str3))` `# Test Case 4:``str4 ``=` `"3675 98AF 60#2"``print``(isValidAadhaarNumber(str4))` `# Test Case 5:``str5 ``=` `"417598346012"``print``(isValidAadhaarNumber(str5))` `# This code is contributed by avanitrachhadiya2155`
Output:
```true
false
false
false
false```

My Personal Notes arrow_drop_up