JavaScript: Alphanumeric characters that are palindromes

JavaScript String: Exercise-50 with Solution

A palindrome is a word, number, phrase, or other sequence of symbols that reads the same backwards as forwards, such as the words madam or racecar, the date/time stamps 11/11/11 11:11 and 02/02/2020, and the sentence: "A man, a plan, a canal – Panama". The 19-letter Finnish word saippuakivikauppias (a soapstone vendor), is the longest single-word palindrome in everyday use, while the 12-letter term tattarrattat (from James Joyce in Ulysses) is the longest in English.
Write a JavaScript program to check if a given string contains alphanumeric characters that are palindromes regardless of special characters and letter case.
Test Data:
('$22_|1372^2731|_22') -> true
('12%^&2') -> false
('234%$$%432') -> true
(1234) -> "It must be string"
('aba%$aba') -> true
('Aba%$aba') -> true

Sample Solution:

HTML Code:

<!DOCTYPE html>
  <meta charset="utf-8">
  <title>JavaScript function to check Alphanumeric characters that are palindromes</title>


JavaScript Code:

const test = (alpha_text) => {
  if (typeof alpha_text !== 'string') {
    return 'It must be string'

  const new_text = alpha_text.replace(/[^a-z0-9]+/ig, '').toLowerCase()
  const mid_index = new_text.length >> 1  

  for (let i = 0; i < mid_index; i++) {
    if (new_text.at(i) !== new_text.at(~i))
      return false

  return true

Sample Output:

It must be string


Flowchart: JavaScript: Check a string is in Pascal case

Live Demo:

See the Pen javascript-string-exercise-50 by w3resource (@w3resource) on CodePen.

Improve this sample solution and post your code through Disqus

Previous: Get unique guid of the specified length, or 32 by default.
Next: Implement Boyer-Moore string-search algorithm.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Share this Tutorial / Exercise on : Facebook and Twitter

JavaScript: Tips of the Day

function and arguments

const person = {
  name: 'Lydia Hallie',
  hobbies: ['coding'],

function addHobby(hobby, hobbies = person.hobbies) {
  return hobbies;

addHobby('running', []);
addHobby('baking', person.hobbies);


The addHobby function receives two arguments, hobby and hobbies with the default value of the hobbies array on the person object.
First, we invoke the addHobby function, and pass "running" as the value for hobby and an empty array as the value for hobbies. Since we pass an empty array as the value for y, "running" gets added to this empty array.
Then, we invoke the addHobby function, and pass "dancing" as the value for hobby. We didn't pass a value for hobbies, so it gets the default value, the hobbies property on the person object. We push the hobby dancing to the person.hobbies array.
Last, we invoke the addHobby function, and pass "bdaking" as the value for hobby, and the person.hobbies array as the value for hobbies. We push the hobby baking to the person.hobbies array.
After pushing dancing and baking, the value of person.hobbies is ["coding", "dancing", "baking"]

Ref: https://bit.ly/2Hcpkm6