Determinar si una cadena o número es palíndromo en JavaScript

Hola chicos a continuación, te dejo algunos ejemplos sobre como determinar si una cadena o un número es palíndromo en JavaScript.

Palíndromo es una palabra o expresión que es igual si se lee de izquierda a derecha que de derecha a izquierda.
Cadena ejemplo:
function reverseAndPalindrome(str) {
 str = str.replace(/[.,?:;/()_-]/g, '').toLowerCase();
 
 // reverse string 
 str = str.split('').reverse().join();
 
 return str == str;
}
 
reverseAndPalindrome('Anita laba la tina');
 
Cadena ejemplo con loop:
function reverseString(str) {
    // Create an empty string that will host the new created string
    var newString = "";
    str = str.replace(/[.,?:;/()_-s]/g, '').toLowerCase();
 
    for (var i = str.length - 1; i >= 0; i--) { 
        newString += str[i]; 
    }
 
    newString = newString.replace(/[.,?:;/()_-s]/g, '').toLowerCase();
 
    return str == newString;
}
 
reverseString('Anita laba la tina');
 
Numero ejemplo:
function isPalindromeNumber(number) {
 // No palindrome if is 1 or 0
 if (number === 1 || number === 0) return false;
 
 // No palindrome if is negative number
 if (number < 0) return false;
 
 var value = 1;
 
 while (number/value > 10) {
  value = value * 10;
 }
 
 while (number > 0) {
  if(Math.floor(number/value) === number % 10) {
   number = Math.floor((number%value)/10);
   value = Math.floor(value/100);
  } else return false;
 }
 
 return true;
}
 
isPalindromeNumber(181);

Comentarios