将文本解析为int javascript时的奇怪行为

时间:2015-09-08 10:11:08

标签: javascript parseint

好的,

这个有点难以复制,但我找不到问题的根源..

当我尝试在test [0]上执行parseInt时,它返回NaN:

var test = ["‎02", "09", "2015 17:34"];
var result = parseInt(test[0], 10); // Return NaN!
var result = parseInt(test[1], 10); // Return 9!
console.log(test[0].length) // Returns 3!! Should be 2

for(var i = 0; i < test[0].length; ++i) {
  console.log(test[0][i]);
}
//Logs: 
// EMPTY LINE
// 0
// 2

我试图修剪它,但这也不起作用..我在Chrome + Firefox中尝试了它,结果相同..

当别人尝试时,它有效!

重新启动计算机,重新安装Chrome ..不会改变一下..

任何想法?

由于

1 个答案:

答案 0 :(得分:1)

第一个字符串中有一个不可见的字符。

test[0].charCodeAt(0)

返回8206.当您谷歌搜索此代码时,它表示这是一个“从左到右的标记”。这是一个控制角色,它包含一些信息,但没有任何东西可以显示。

您还应该注意到,您可以删除或选择该字符,而不会注意到任何视觉上的变化。如果你删除那个角色,一切都会好的。