正则表达式Javascript:检查回文

时间:2016-08-03 02:18:39

标签: javascript

我正在尝试找一个检查回文的解决方案。当我使用代码时:

function palindrome(str) {
  var checkSpecial = str.replace(/[^A-Za-z0-9]/g, '');
  var checkPalindrome = str.split('').reverse().join('');
  return checkSpecial == checkPalindrome;
}
console.log(palindrome("_eye")); // false

返回false。我似乎无法删除非字母数字字符。

2 个答案:

答案 0 :(得分:4)

当然,"eye" !== "eye_"。你可能想要

function palindrome(str) {
  var checkSpecial = str.replace(/[^A-Za-z0-9]/g, '');
  var checkPalindrome = checkSpecial.split('').reverse().join('');
  return checkSpecial == checkPalindrome;
}
console.log(palindrome("_eye")); // true

答案 1 :(得分:0)

您需要从两个字符串中删除特殊字符。请注意,您并没有尝试使用正则表达式来测试回文(这很好,因为这是不可能的)。修正版:

function palindrome(str) {
  var checkSpecial = str.replace(/[^A-Za-z0-9]/g, '');
  var checkPalindrome = checkSpecial.split('').reverse().join('');
  return checkSpecial == checkPalindrome;
}
console.log(palindrome("_eye")); // false