如果給定的字符串是回文,返回true,反之,返回false。
如果一個字符串忽略標點符號、大小寫和空格,正著讀和反著讀一模一樣,那么這個字符串就是palindrome(回文)。
注意你需要去掉字符串多余的標點符號和空格,然后把字符串轉化成小寫來驗證此字符串是否為回文。
函數參數的值可以為"racecar","RaceCar"和"race CAR"。
palindrome("eye") 應該返回一個布爾值
palindrome("eye") 應該返回 true.
palindrome("race car") 應該返回 true.
palindrome("not a palindrome") 應該返回 false.
palindrome("A man, a plan, a canal. Panama") 應該返回 true.
palindrome("never odd or even") 應該返回 true.
palindrome("nope") 應該返回 false.
palindrome("almostomla") 應該返回 false.
palindrome("My age is 0, 0 si ega ym.") 應該返回 true.
palindrome("1 eye for of 1 eye.") 應該返回 false.
palindrome("0_0 (: /-\ :) 0-0") 應該返回 true.
function palindrome(str) {
var re = /[\W_]/g;
var lowRegStr = str.toLowerCase().replace(re,"");
var reverseStr = lowRegStr.split("").reverse().join("");
return reverseStr === lowRegStr;
}
palindrome("eye");```
//方法2
function palindrome(str) {
var re = /[^A-Za-z0-9]/g;
str = str.toLowerCase().replace(re, '');
var len = str.length;
for (var i = 0; i < len/2; i++) {
if (str[i] === str[len - 1 - i]) {
return true;
}
}
return false;
}
palindrome("A man, a plan, a canal. Panama");```