string.split在Firefox中无法正常工作?适用于Chrome

时间:2015-07-18 06:08:46

标签: javascript string google-chrome firefox

这里有点问题。我有这段代码:

//phoneNumber is a string ie ('01☂916☂5234321')
var phoneNumberSplit = phoneNumber.split('☂');

console.log(phoneNumberSplit);
//in Chrome this returns as ["01", "916", "5234321"], in Firefox this returns as
//[ "01☂916☂5234321" ]

我稍后在Chrome浏览器中调用了phoneNumberSplit[1],但在Firefox中,它会说undefined。为什么string.split会根据我所使用的浏览器返回两个不同的内容? documentation表示它适用于Firefox和Chrome。有什么帮助吗?

编辑 oooook我弄清楚我的问题是什么。在页面上,我在元标记中遗漏的charset="UTF-8"上测试了这个,并且没有读取unicode字符。在Chrome中,我猜他们默认启用UTF-8,而Firefox则不支持。糟糕。

2 个答案:

答案 0 :(得分:2)

我弄清楚我的问题是什么。在页面上,我在元标记中遗漏了charset="UTF-8"并且没有读取unicode字符。在Chrome中,我猜他们默认启用UTF-8,而Firefox则不支持。糟糕。

答案 1 :(得分:0)

元标记需要告诉浏览器字符编码。 Firefox 39确实提供了正确的结果,但在控制台中也发出警告,表明字符编码不正确。尝试使用包含/删除元标记的代码来查看差异。

<html>
<head>
<meta charset="UTF-8">
</head>
<body>
</body>
<script>
//phoneNumber is a string ie ('01☂916☂5234321')
var phoneNumber='01☂916☂5234321';
var phoneNumberSplit = phoneNumber.split('☂');

console.log(phoneNumberSplit);
//in Chrome this returns as ["01", "916", "5234321"], in Firefox this returns as
//[ "01☂916☂5234321" ]
</script>
</html>