如何检查字符串是否为回文JavaScript [已关闭!]

时间:2016-04-08 20:40:33

标签: javascript

我试图制作一个能检查单词是否为回文的函数。如果单词是回文,它将返回true,否则它将返回false。 "您需要删除所有非字母数字字符(标点符号,空格和符号)并将所有小写字母转换为小写以便检查回文。

我们将传递不同格式的字符串,例如" racecar"," RaceCar"和"种族CAR"等等。"

我的代码是:

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";
  }
}

有人可以告诉我这个代码有什么问题吗?

3 个答案:

答案 0 :(得分:2)

这个解决方案怎么样。

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

它删除非字母数字字符,变成小写,然后返回true | false

答案 1 :(得分:1)

"字母数字"表示字母和数字字符。尝试这样的事情:

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

答案 2 :(得分:0)

它不起作用,因为它总是返回" true"因为如果不是回文,那么返回一个字符串,它被评估为布尔值为真。