function palindrome(str) { // 字符串预处理 str = str.toLowerCase(); str = str.replace(/\,|\.|\_|\(|\)|\-|\\|\/|\:|\s/g, ""); validator = str.split(""); for(var i=0; i<validator.length/2; i++){ if(validator[i] == validator[str.length - i - 1]) ; else return false; } return true; } palindrome("eye");
简单的回文问题,处理正则匹配用了一段时间。\g表示全局匹配,"\,"这样的转义字符用来匹配各种标点符号,竖线"|"相当于正则语言中的或语句
问题地址:
https://www.freecodecamp.cn/challenges/check-for-palindromes
参考:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp#character-sets