var isPalindrome = function(s) {
// 非空判断
if (s == null) {
return false;
}
if (s.length == 0) {
return true;
}
// 字母小写处理
s = s.toLowerCase();
// 提取字符串中的数字和字母
var afterS = '';
for (var i = 0; i < s.length; i++) {
var option1 = s[i] >= '0' && s[i] <= '9' ? true : false;
var option2 = s[i] >= 'a' && s[i] <= 'z' ? true : false;
if (option1 || option2) {
afterS += s[i];
}
}
var reverseS = afterS.split('').reverse().join('');
return reverseS == afterS;
};
var isPalindrome1 = function(s) {
// 非空判断
if (s == null) {
return false;
}
if (s.length == 0) {
return true;
}
const reg = /[^a-z0-9]/gi; // 匹配所有的不是a-z或0-9的字符
let afterS = s.replace(reg, '').toLowerCase(); // 筛选出只有a-z 0-9的字符并将字母进行小写处理
var reverseS = afterS.split('').reverse().join('');
return reverseS == afterS;
};
var s = "A man, a plan, a canal: Panama";
console.log(isPalindrome(s))
console.log(isPalindrome1(s))
console