Palindrome
Palindrome is word, a phrase or a number that reads the same backward as forward. For instance Malayalam, madam, nurses run etc.
We should make here the use of a regular expression to allow only alphanumeric characters. "\W" is an inbuilt regex that makes our task easy. There are some steps to follow to check whether a provided string is palindrome or not.
Steps to follow
- First we need to change all the characters of a string to lower case.
- Later we need to remove all non-alphanumeric values. This task can be done by using inbuilt regular expression named '\W' or we can build our own regular expression.
- we need to replace all the non-alphanumeric values with nothing(""). This task can be done using an inbuilt method called replace().
- Once we took the non-alphanumeric values from a string, we need to check whether it reads same in backward and forward directions.
- we need to reverse the refined string using string.reverse() method and the resulted string should be compared with the original string.
- If both are equal "true" will be displayed in output else "false" will be displayed.
In the following example despite sending non-alphanumeric values such as *, & etc., the program just checks the alphanumeric values and displays the output.
Example
<html> <body> <script> function palindrome(str){ var reg = /[\W_]/g; // instead of '\W' we also can take "/[^a-zA-Z0-9]+/g" var smstr = str.toLowerCase().replace(reg, ""); var reversed = smstr.split("").reverse().join(""); if(reversed === smstr){ document.write("true"); } else { document.write("false"); } } palindrome("a929a*/(';-=,.*") </script> </body> </html>
Output
true