我正在尝试找一个检查回文的解决方案。当我使用代码时:
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。我似乎无法删除非字母数字字符。
答案 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