If you’re working on a Python project and want to add a mobile number validation feature, you should follow some validation criteria.
Mobile Number Validation Criteria:
- The mobile number should only have 10 digits.
- The mobile number should only begin with 7, 8, or 9 digits.
- There should be no characters or strings in the mobile number.
All of the criteria listed above must be met in order to validate a mobile number.
NOTE: Here, we used the Indian mobile number validation requirements. You can easily edit the code to fit your country’s criteria.
We can Validate a mobile number using two methods:
- Using If-Else conditional statements.
- Using Regex
Mobile Number validation Using Python
Below are the ways to validate the given mobile number using python:
Method #1: Using If-Else conditional statements
Approach:
- Give some random 10 digit mobile number as user input using the input() function and store it in a variable.
- Check if the length of the given mobile number is greater than or less than 10 using the if conditional statement
- If it is true then print “Invalid Mobile number. Mobile number must have 10 digits”
- Else Check if the first digit of the given mobile number is 7 or 8 or 9 using the if conditional statement.
- Handling the errors using the try-except blocks.
- If it is true, then convert the given mobile number to an Integer using the int() function and store it in the same variable.
- Print the given mobile number is a valid number
- Print “Invalid Mobile number. Mobile number must not contain any characters”
- Else print “Invalid Mobile number. Mobile number must begin with 7 or 8 or 9”.
- The Exit of the Program.
Below is the implementation:
# Give some random 10 digit mobile number as user input using the input() # function and store it in a variable. gvn_mobilenumb = input("Enter some random 10 digit mobile number = ") # Check if the length of the given mobile number is greater than or less than 10 # using the if conditional statement if len(gvn_mobilenumb) > 10 or len(gvn_mobilenumb) < 10: # If it is true then print "Invalid Mobile number. Mobile number must have 10 digits" print("Invalid Mobile number. Mobile number must have 10 digits") else: # Else Check if first digit of the given mobile number is 7 or 8 or 9 using the if conditional statement if gvn_mobilenumb[0] == '7' or gvn_mobilenumb[0] == '8' or gvn_mobilenumb[0] == '9': # Handling the errors using the try-except blocks try: # If it is true, then convert the given mobile number to an Integer using the # int() function and store it in the same variable. gvn_mobilenumb = int(gvn_mobilenumb) # Print the given mobile number is a valid number print("The given mobile number is a Valid Number") except: # Print "Invalid Mobile number. Mobile number must not contain any characters" print('Invalid Mobile number. Mobile number must not contain any characters') else: # Else print "Invalid Mobile number. Mobile number must begin with 7 or 8 or 9" print("Invalid Mobile number. Mobile number must begin with 7 or 8 or 9")
Output:
Enter some random 10 digit mobile number = 9989593198 The given mobile number is a Valid Number
Enter some random 10 digit mobile number = 4567890182 Invalid Mobile number. Mobile number must begin with 7 or 8 or 9
Enter some random 10 digit mobile number = 9989583v99 Invalid Mobile number. Mobile number must not contain any characters
Method #2: Using Regex Module
If and only if the full string matches the pattern, it returns a match object; otherwise, it returns None.
We can determine whether or not the return value is a valid number based on the return value.
Mobile Number Validation Criteria:
- The first digit should have values ranging from 6 to 9.
- The remaining 9 numbers might be any integer between 0 and 9.
Example Pattern:
‘[6-9][0-9]{9}’: It means the starting should be between 6 to 9 and the next nine digits can be any number between 0 and 9.
‘[6-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’: This pattern works in the same way as the above one.
Approach:
- Import re(regex) module using the import keyword
- Give some random mobile number as user input using the input() function and store it in a variable.
- Pass the Pattern, given mobile number as arguments to the fullmatch() function to check if the entire
- mobile number matches the pattern else it returns None.
- Store it in a variable
- Here the pattern represents that the starting number should be between 6-9 and the next nine digits can be any number between 0 and 9.
- Check if the above result is not Equal to None Using the if conditional statement
- If it is true, i.e the output is Not None then print “Valid Number”
- Else print “Invalid Number”.
- The Exit of the Program.
Below is the implementation:
# Import re(regex) module using the import keyword import re # Give some random mobile number as user input using the input() # function and store it in a variable. gvn_mobilenumb = input("Enter some random mobile number = ") # Pass the Pattern, given mobile number as arguments to the fullmatch() function to # check if the entire mobile number matches the pattern else it returns None. # Store it in a variable # Here the pattern represents that the starting number should be between 6-9 # and the next nine digits can be any number between 0 and 9. rslt = re.fullmatch('[6-9][0-9]{9}',gvn_mobilenumb) # Check if the above result is not Equal to None Using the if conditional statement if rslt!=None: # If it is true, i.e the output is not None then print "Valid Number" print('The given mobile number is a Valid Number') else: # Else print "Invalid Number" print('The given mobile number is Invalid')
Output:
Enter some random mobile number = 9494580181 The given mobile number is a Valid Number