Write a JavaScript program that takes a string input from the user and checks whether it is a palindrome. A palindrome is a string that reads the same forwards and backwards. The program should ignore case and non-alphanumeric characters when performing the check and output whether the string is a palindrome or not.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
Which data structure is used in the implementation of recursion?