如何检查字符串是否为回文JavaScript〔CLOSED!〕



我正在尝试制作一个函数来检查一个单词是否是回文。如果这个词是回文,它将返回true,否则将返回false。"为了检查回文,你需要删除所有非字母数字字符(标点符号、空格和符号),并将所有字符都改为小写

我们将传递不同格式的字符串,例如"racecar"、"racecar"one_answers"racecar"等。"

我的代码是:

function palindrome(str) {
  str = str.toLowerCase().replace(/[^a-z]+/g,"");
  if (str === str.split("").reverse().join("")){
    return str;
  } else {
  return "This is not a palindrome";
  }
}

有人能告诉我这个代码出了什么问题吗?

这个解决方案怎么样。

function palindrome(str) {
  str = str.toLowerCase().replace(/[^a-z0-9]+/g,"");
  return str === str.split("").reverse().join("");
}

它去掉非字母数字字符,变为小写,并返回true|false

"字母数字"表示字母和数字字符。试试这样的东西:

function isPalindrome(str) {
  str = str.toLowerCase().replace(/[^a-z0-9]+/g, '');
  return str === str.split('').reverse().join('');
}
isPalindrome('racecar')
// => true
isPalindrome('race car')
// => true
isPalindrome('race caR')
// => true

它不起作用,因为它总是返回一个"true",因为如果不是回文,则返回一个字符串,该字符串的布尔值为true。

最新更新