How to check for a palindrome in JavaScript?
Jul 12, 2025 am 01:33 AMThere are three ways to determine whether a string is palindrome: 1. Use the built-in method to compare the original string with the reversed string through split, reverse and join operations; 2. Ignore case and non-alphabetical characters, clean the string first and then compare; 3. Do not use the built-in method, and use the double-pointer method to compare characters one by one from both ends to the middle. This method is more efficient and suitable for interview scenarios.
To determine whether a string is a palindrome, the core is to compare whether the result of the string and its inverted reversal is the same. JavaScript provides flexible ways to achieve this, and the following are several commonly used and practical ways.

Quick judgment using built-in methods
The easiest and direct way is to use JavaScript's string and array method combination operation:
function isPalindrome(str) { const reversed = str.split('').reverse().join(''); return str === reversed; }
-
split('')
converts a string into a character array; -
reverse()
reverses the array; -
join('')
resubt the array into a string.
This method is suitable for most basic scenarios, such as checking whether "madam"
or "racecar"
is palindrome.

Ignore case and non-alphabetical characters
In practice, user input may contain spaces, punctuation, or mixed case, such as "A man, a plan, a canal: Panama"
. At this time, you need to clean the string first and then make a comparison:
function isPalindrome(str) { const cleaned = str.replace(/[^a-z0-9]/gi, '').toLowerCase(); const reversed = cleaned.split('').reverse().join(''); return cleaned === reversed; }
Used here:

-
replace(/[^a-z0-9]/gi, '')
removes non-alphanumeric characters; -
toLowerCase()
will be compared with the case.
This allows for more accurate identification of palindromic content in user input.
Manual implementation without using built-in methods (suitable for interviews)
If you are asked not to use split
, reverse
and other methods during the interview, you can use the double-pointer method to compare characters from both ends to the middle:
function isPalindrome(str) { let left = 0; let right = str.length - 1; while (left < right) { if (str[left] !== str[right]) { return false; } left ; right--; } return true; }
This method is efficient, with time complexity O(n) and space complexity O(1), and is suitable for processing long strings or in performance-sensitive scenarios.
Basically these are the methods. You can choose a concise version according to your specific needs, or make appropriate adjustments to the scenarios with complex input formats.
The above is the detailed content of How to check for a palindrome in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this tutorial, we need to solve a palindrome substring query for a given string. Solving palindrome substring queries is much more complex than solving regular queries in C++. It requires more complex code and logic. In this tutorial, we have provided string str and Q substring [L...R] queries, each of which has two values ??L and R. Our goal is to write a program that solves a query to determine if substring[L...R] is a palindrome. We have to determine whether the substring formed in the range L to R is a palindrome to solve each query. For example-Let'sinput"abbbabaaaba"asourinputstring.Thequer

A palindrome is a string equal to its reverse. Given a string, we need to find the minimum number of inserted arbitrary characters required to make the string a palindrome. We will see three approaches: first the recursive approach, then we will memoize this solution, and finally, we will implement the dynamic programming approach. Recursive method example#include<stdio.h>//libraryforinputandoutput#include<limits.h>//librarytogettheintegerlimits#include<string.h>//libraryforstr

We are given a string 'str' of any given length. The task is to rearrange the characters so that the output becomes a palindrome string without adding or removing characters from the given input string. A palindrome string is when the characters are arranged in such a way that they sound the same from start to end. Let’s look at various input and output scenarios for this - Input - String str="itnin" Output - Rearrangement of characters to form a palindrome string if possible is: nitin Explanation - We are given a variable of type String , assumed to be str. Now we will rearrange the characters of the input string so that it becomes

A palindrome is a sequence of words, numbers, phrases, or other characters that is read the same from front to back as it is from back to front. Words like madam or racecar, or numbers like 10801 are palindromes. For a given string, if the string obtained after reversing the string is the same as the original string, then we can say that the string is a palindrome. This means that to check if a string is a palindrome, we need to find out whether the first and last elements, the second and penultimate elements, and so on are equal. Input - naman Output - the string is a palindrome Input - tutorialspoint Output - characters

A palindrome is a sequence of characters that reads the same in both forward and reverse directions. In computer science and programming, palindromes are a common theme in string manipulation problems. In this article, we will explore how to find the minimum size substring that must be removed from a given string to make it a palindrome. We will provide a well-structured C++ solution and include an example to illustrate the test cases. Problem Statement Given a string 's' of length 'n', we need to find the minimum size of the substring that should be removed so that the remaining string becomes a palindrome. The algorithm creates a function called isPalindrome which takes the string 's' as a parameter and returns true if it is a palindrome, otherwise it returns false. Create a file called minS

Problem Statement We are given a string str, containing N words in total. We need to find all palindrome words in a given string and create a new string by reversing the order of all palindrome words. Example input str = ‘nayanwasgonetonavjivaneyehospital’ Output ‘eyewasgonetonavjivannayanhospital’ Description The string contains three palindrome words: nayan, navjivan and eye. We reversed the order of all three words and kept all other words the same. Input ‘Hello, users! Howareyou?’ and output ‘Hello, user

A number is considered a "selfie number" if it can be represented using only its own digits and some mathematical operations. For example, 936 is a selfie number. $$\mathrm{936\:=\:(\sqrt{9})!^{3}\:+\:6!\:=\:216\:+\:720\:=\:Chapter 936 Here you can see that a series of operations are performed on the digits of the original number, and the result is equal to the original number. A palindrome selfie number is a special selfie number. They satisfy the selfie multiplication rule. Consider a number x. Let the number after the digital inversion of x be $\mathrm{x^\prime}$. Let y be a number composed of the digits of x in different orders. Let the number after the digital inversion of y be $

In this problem, we need to find the last palindrome string in an array. If any string is the same when read, whether it is read from the beginning or from the end, it is said that the string is a palindrome. We can compare the start and end characters to check if a particular string is a palindrome. Another way to find a palindrome string is to reverse the string and compare it to the original string. Problem Statement - We are given an array of length N containing different strings. We need to find the last palindrome string in the given array. Example input –arr[]={"werwr","rwe","nayan"
