Python Program to test if the String only Numbers and Alphabets

When working with strings in Python, it is often necessary to validate whether a string contains only numbers and alphabets or if it includes other special characters. String validation is crucial in various scenarios such as input validation, data processing, and filtering.

In this article, we will explore a Python program to test if a given string consists of only alphanumeric characters. We will discuss the criteria for a valid string, provide examples of valid and invalid strings, and present efficient approaches to solve this problem using built-in string methods.

Understanding the Problem

Before we dive into solving the problem, let's define the criteria for a valid string that contains only numbers and alphabets ?

  • The string should consist of alphanumeric characters (a-z, A-Z, and 0-9).

  • The string should not contain any whitespace or special characters.

  • The string should have at least one character.

Our task is to write a Python program that takes a string as input and checks whether it meets these criteria. We need to return True if the string contains only numbers and alphabets, and False otherwise.

Method 1: Using Character Iteration

The first approach iterates through each character and checks if it's alphanumeric using the isalnum() method ?

def is_alphanumeric(string):
    # Check if string is not empty
    if not string:
        return False
    
    for char in string:
        if not char.isalnum():
            return False
    return True

# Test the function
test_strings = ["Hello123", "Hello World", "12345", "12345!", ""]

for test_string in test_strings:
    result = is_alphanumeric(test_string)
    print(f"'{test_string}' -> {result}")
'Hello123' -> True
'Hello World' -> False
'12345' -> True
'12345!' -> False
'' -> False

Method 2: Using Built-in isalnum() Method

Python provides a more concise way using the string's built-in isalnum() method directly ?

def is_alphanumeric_builtin(string):
    return string.isalnum()

# Test the function
test_strings = ["Hello123", "Hello World", "12345", "12345!", ""]

for test_string in test_strings:
    result = is_alphanumeric_builtin(test_string)
    print(f"'{test_string}' -> {result}")
'Hello123' -> True
'Hello World' -> False
'12345' -> True
'12345!' -> False
'' -> False

Method 3: Using Regular Expressions

We can also use regular expressions to match only alphanumeric patterns ?

import re

def is_alphanumeric_regex(string):
    if not string:
        return False
    pattern = r'^[a-zA-Z0-9]+$'
    return bool(re.match(pattern, string))

# Test the function
test_strings = ["Hello123", "Hello World", "12345", "12345!", ""]

for test_string in test_strings:
    result = is_alphanumeric_regex(test_string)
    print(f"'{test_string}' -> {result}")
'Hello123' -> True
'Hello World' -> False
'12345' -> True
'12345!' -> False
'' -> False

Comparison

Method Time Complexity Space Complexity Best For
Character Iteration O(n) O(1) Educational purposes
Built-in isalnum() O(n) O(1) Simple validation
Regular Expressions O(n) O(1) Complex pattern matching

Key Points

  • The isalnum() method returns False for empty strings

  • Alphanumeric characters include letters (a-z, A-Z) and digits (0-9)

  • Whitespace, punctuation, and special characters make the validation fail

  • All methods have linear time complexity relative to string length

Conclusion

The built-in isalnum() method is the most efficient and readable approach for checking if a string contains only alphanumeric characters. Use regular expressions when you need more complex pattern matching beyond simple alphanumeric validation.

Updated on: 2026-03-27T12:01:14+05:30

770 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements