Check for Palindromes

如果给定的字符串是回文,返回true,反之,返回false

如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。

注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。

函数参数的值可以为"racecar""RaceCar""race CAR"

当你完成不了挑战的时候,记得开大招'Read-Search-Ask'。

function palindrome(str) {
  var oldstr=str.replace(/[-,.,_,/,(,),\, ,:,]/g,'').toLowerCase(); //用正则把空格和标点符号去掉 
  var newstr=oldstr.toLowerCase().split('').reverse().join('');  //把单词字母顺序颠倒 
  return (oldstr===newstr);  //判断是否是回文
}

String.prototype.replace()方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每次匹配都要调用的函数。该方法并不改变调用它的字符串本身,而只是返回一个新的替换后的字符串。

String.prototype.toLowerCase() 会将调用该方法的字符串值转为小写形式,并返回。toLowerCase 不会影响字符串本身的值。

方法二:

function palindrome(str) {
  var temp = str.toLowerCase().replace(/[sW_]/g,'');
  return temp===(temp.split('').reverse().join(''));
}
人生如逆旅,我亦是行人
原文地址:https://www.cnblogs.com/renbo/p/6618561.html