toLowerCase错误的低级字符“İ”

时间:2017-12-07 13:32:12

标签: javascript utf-8 lowercase

我实际上有一个简单的问题。当您检查以下代码时,您将理解我的意思。

function isPalindrome(string){
  string = string.toLowerCase();
  var charArr = string.split('');

  charArr.forEach( char => {
    console.log(char);
  })
  console.log(charArr.length)
}

isPalindrome("İris");

输出

i
 ̇  <- what is this ?
r
i
s
5 

如您所见添加额外字符。我无法解决这个问题。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

这很有效。 您在使用toLowerCase后删除了可能的特殊字符。您可以使用replace(/[^\w\s]/gi, '')

Fiddle

function isPalindrome(str){
  var charArr = str.toLowerCase().replace(/[^\w\s]/gi, '').split(""); //toLowerCase --> remove special characters --> split the string

  charArr.forEach( char => {
    console.log(char);
  })
  console.log(charArr.length)
}

isPalindrome("İris");