JavaScript回文检查器(freeCodeCamp项目)

编程 · 2023-09-21 · 253 人浏览

需求

如果传入的字符串是回文字符串,则返回 true,否则返回 false。

回文 palindrome,指在忽略标点符号、大小写和空格的前提下,正着读和反着读一模一样,例如:上海自来水来自海上。

代码实现

function palindrome(str) {
  // 去除空格,字母转小写
  str = str.replace(' ', '').toLowerCase()
  // 去除非字母数字
  if (str.match(/[^0-9a-z]/)) {
    while (str.match(/[^0-9a-z]/)) {
      str = str.replace(/[^0-9a-z]/, '')
    }
  }

  // 回文检查
  let newStr = ''
  for (let i = str.length - 1; i >= 0; i--) {
    newStr += str[i]
  }

  return str == newStr
}
JavaScript
Theme Jasmine by Kent Liao