JavaScript回文算法挑战

如果给定的字符串是回文,返回true,反之,返回false。
palindrome(回文)是指一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样。
注意:您需要删除字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是不是回文。
函数参数的值可以为"racecar","RaceCar"和"race CAR"。

~JavaScript code~

//检测字符串是不是回文
function palindrome(str) {
// Good luck!
var result=cleanStr(str).toLowerCase();
  console.log(result);
  console.log(reverseStr(result));
  return result===reverseStr(result);
}

//翻转字符串
function reverseStr(str)
{
  return str.split('').reverse().join('');
}

//英文字符串去掉所有标点符号和空格
function cleanStr(str){
  // 过滤掉字符串中的所有空格、下划线
  var result = str.replace(/\s+/g,'').replace(/\_+/g,'').match(/\w/g).join('');
  // 过滤掉所有的标点符号, \w是匹配一个单字字符(字母,数字和下划线)
  // \W是匹配一个非单字字符, 当然包括标点符号了
  return result;
}


palindrome("eye");

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容