如果给定的字符串是回文,返回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('')); }