Build a Palindrome Checker Project - Build a Palindrome Checker

Tell us what’s happening:

Hello, I cannot remotely figure out what is causing my palindrome checker function to always evaluate to true. I am assuming it has something to do with my array reversal but I can’t pinpoint the issue and my code is not showing any errors.

Please let me know where I went wrong.

Your code so far

/* file: script.js */

const checkButton = document.getElementById('check-btn');
const userInput = document.getElementById('text-input');
const displayResult = document.getElementById('result');

//main function declaration

const checkForPalindrome = (input) => {
const regex = /[a-z0-9]/gi;
const originalInput = input;

//string manipulations
const lowercaseString = input.toLowerCase().replace(regex, '');

const reverseString = lowercaseString.split('').reverse().join('');

//alert for no input
if (input === ''){
  alert (`Please input a value`);

//checking for palindrome and write HTML message
let resultsMessage = `${originalInput} ${lowercaseString === reverseString ? 'is' : 'is not'} a palindrome`;

//returning results to html

//new p tag
const pTag = document.createElement('p');
pTag.className = 'user-input';
pTag.innerHTML = resultsMessage;


//button eventlistener
checkButton.addEventListener("click", () => {
  userInput.value = '';


Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36

Challenge Information:

Build a Palindrome Checker Project - Build a Palindrome Checker

Have you tried to take a look at the lowercased and reversed strings?

It seems your regex expression is essentially causing replace() to remove all alphanumeric character instead of excluding non-alphanumeric characters. check that out by using console.log() on the replaced string

I added the ^ to my regex and that solved it thank you. I was looking everywhere but there.