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

Introduction to Phaser JS

Phaser JS is a powerful, open-source HTML5 game development framework used for creating 2D games that…

12 hours ago

Web Authentication Libraries

JavaScript / Node.js Authentication Libraries 1. Passport.js One of the most popular authentication middleware libraries…

12 hours ago

The Things They Carry: Software Developers Starter Packs

Every profession comes with its own set of tools. A carpenter has a toolbox, a…

12 hours ago

CRUD Operations: The Foundation of Data Management

Every application that stores and manages data relies on a set of basic operations known…

2 weeks ago

Common PHP Mistakes Every Developer Should Avoid

PHP remains one of the most widely used server-side programming languages, powering platforms such as…

2 weeks ago

Danfo.js: The JavaScript Data Science Library

Danfo.js is an open-source JavaScript library designed for data manipulation, analysis, and machine learning. It provides…

2 weeks ago