softare development

Check if Number, Word or Phrase is a Palindrome in JavaScript

What is a Palindrome?

A palindrome is any word, phrase, number, or sequence that reads the exact same way forwards and backwards. Think of it like a mirror for text!

ABA Example

Step 1: What is “Aba”?

  • “Aba” is a real city in Nigeria (in Abia State).
  • Let’s write it out: A – B – A

Step 2: Read it FORWARDS:

  A → B → A  
  = "Aba"

Step 3: Read it BACKWARDS:

  A ← B ← A  
  = "Aba" (SAME THING!)

Step 4: Why it works:

  • First letter: A
  • Middle letter: B
  • Last letter: A
    👉 Start and end match perfectly!

Become a JavaScript Master

Another Example is “madam”

“madam” → Reverse = “madam” (Same!)

We can write a Javascript program to check if a given word is a palindrome or not.

function isPalindrome(word) {
  // 1. Convert to lowercase (so "Madam" = "madam")
  const cleanWord = word.toLowerCase();
  
  // 2. Split into letters → ["m", "a", "d", "a", "m"]
  const letters = cleanWord.split('');
  
  // 3. Reverse letters → ["m", "a", "d", "a", "m"] becomes ["m", "a", "d", "a", "m"] backwards? Wait, it's the same!
  const reversedLetters = letters.reverse();
  
  // 4. Join reversed letters → "madam"
  const reversedWord = reversedLetters.join('');
  
  // 5. Compare: Original vs Reversed
  return cleanWord === reversedWord;
}

Result:

console.log(isPalindrome("Ada"));    // true! (Because "ada" reversed = "ada")
console.log(isPalindrome("Aba"));    // true! (City in Nigeria)
console.log(isPalindrome("Hannah")); // true!

console.log(isPalindrome("Lagos"));  // false ("sogaL" ≠ "Lagos")
console.log(isPalindrome("Abuja"));  // false ("ajubA" ≠ "Abuja")

We can do an advance check for sentences and punctuations:

function isAdvancedPalindrome(text) {
  // Remove spaces/punctuation, keep only letters/numbers
  const cleanText = text.toLowerCase().replace(/[^a-z0-9]/g, '');
  
  // Reverse clean text
  const reversedText = cleanText.split('').reverse().join('');
  
  return cleanText === reversedText;
}

// Test with phrases:
console.log(isAdvancedPalindrome("Was it a car or a cat I saw")); // true!
console.log(isAdvancedPalindrome("No lemon, no melon")); // true!

Recent Posts

Event Delegation in JavaScript

Imagine you’re the principal of a large school. Every day, students (like buttons, links, or…

21 hours ago

The DRY Concept (Don’t Repeat Yourself)

You know that thing you do? Where you copy a chunk of code, paste it…

4 days ago

What Truly Makes a Great Software Developer

We've all seen them. The developers who seem to effortlessly untangle complex problems, whose code…

7 days ago

How to Filter Vulgar Words in React Native

If you're building a social, chat, or comment-based mobile app using React Native, protecting your…

2 weeks ago

How to Build Faster Mobile Apps With Native Wind Library

The Cross-Platform ImperativeLet's face it: building separate iOS and Android apps wastes resources. React Native…

2 weeks ago

The Surprisingly Simple Secret to Getting Things Done

We live in an age of infinite distraction and overwhelming ambition. Grand goals shimmer on…

2 weeks ago