Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,
“A man, a plan, a canal: Panama” is a palindrome.
“race a car” is not a palindrome.
var isPalindrome = function(s) {
var i = 0,
j = s.length - 1,
s = s.toLowerCase();
if (s.length == 0) {
return true;
}
while (i < j) {
if (/[^a-zA-Z0-9]/.test(s[i])) {
i++;
continue;
}
if (/[^a-zA-Z0-9]/.test(s[j])) {
j--;
continue;
}
if (s[i] != s[j]) {
return false;
}
i++;
j--;
}
return true;
};