Aadhar card number validation using Python

Python script for validating and generating Aadhar card numbers using verhoeff algorithm.

File aValidate.py can be used for generating given Aadhar number.

File aGenerate.py can be used for generating aadhar numbers.

The numbers are generated using verhoeff algorithm so most of the aadhar verification services wont be able to differentiate between legit aadhar numbers and generated numbers and the generated number will be accepted. e.g. Banks,etc

import re

def is_valid_aadhar(aadhar):
    """
    Validate an Aadhar card number.
    
    Parameters:
    aadhar (str): The Aadhar card number to validate.
    
    Returns:
    bool: True if the Aadhar card number is valid, False otherwise.
    """
    
    if len(aadhar) != 12:
        return False
    
    
    if not aadhar.isdigit():
        return False
    

    pattern = re.compile("^[2-9]{1}[0-9]{11}$")
    if not pattern.match(aadhar):
        return False
    
    return True


aadhar_number = "923456789012"
if is_valid_aadhar(aadhar_number):
    print("The Aadhar number is valid.")
else:
    print("The Aadhar number is invalid.")

 

output
Aadhaar number 923456789012 is valid
Aadhaar number 12345678901A is invalid
Aadhaar number 12345678901 is invalid
Aadhaar number 987654321098 is valid

1 thought on “Aadhar card number validation using Python”

  1. import re

    def is_valid_aadhar(aadhar):
    “””
    Validate an Aadhar card number.

    Parameters:
    aadhar (str): The Aadhar card number to validate.

    Returns:
    bool: True if the Aadhar card number is valid, False otherwise.
    “””

    if len(aadhar) != 12:
    return False

    if not aadhar.isdigit():
    return False

    pattern = re.compile(“^[2-9]{1}[0-9]{11}$”)
    if not pattern.match(aadhar):
    return False

    return True

    aadhar_number = “234567891012”
    if is_valid_aadhar(aadhar_number):
    print(“The Aadhar number is valid.”)
    else:
    print(“The Aadhar number is invalid.”)

Leave a Comment

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

Scroll to Top