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

How To Migrate from PostgreSQL to MySQL

Database migration is one of the most challenging tasks in software engineering. While both PostgreSQL…

8 hours ago

Hidden Gems Inside Modern JavaScript

Modern JavaScript isn’t just let, const, arrow functions, and promises anymore. Over the years, the language has…

21 hours ago

Software Developer Pain Points Ranked: What Frustrates Developers the Most?

Software development is one of the most rewarding careers in technology, but it is also…

2 days ago

How to Print Documents in JavaScript

Printing a document in JavaScript usually means triggering the browser’s print dialog and controlling what…

3 days ago

CSS Display Cheatsheet

The display property controls how an element behaves in the layout and how its children are arranged. Access software…

1 week ago

10 JavaScript Habits Destroying Your Code

JavaScript is one of the most flexible programming languages ever created. That flexibility is powerful,…

1 week ago