字符串.拆分在Firefox中不能正常工作?在Chrome中工作良好

string.split not working as intended in Firefox? Works fine in Chrome

本文关键字:工作 Chrome 常工作 Firefox 拆分 不能 字符串      更新时间:2023-09-26

这里有一点问题。我有这样的代码:

//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" ]

我后来调用phoneNumberSplit[1],这在Chrome中很好,但在Firefox中它说它是undefined。为什么string.split返回两个不同的东西取决于我在哪个浏览器?文档中说它可以在Firefox和Chrome中运行。任何帮助吗?

edit哎呀,我知道我的问题是什么了。在页面上,我正在测试charset="UTF-8"从元标记中缺失,并且没有读取unicode字符。在Chrome中,我猜他们默认使用UTF-8,而在Firefox中他们没有,或者其他什么。哎呀。

我知道我的问题是什么了。在页面上,我正在测试charset="UTF-8"从元标记中丢失,并且没有读取unicode字符。在Chrome中,我猜他们默认使用UTF-8,而在Firefox中他们没有,或者其他什么。哎呀。

需要meta标记来告诉浏览器字符编码。Firefox 39确实给出了正确的结果,但也在控制台中警告字符编码不正确。在包含/删除meta标签的情况下尝试这段代码,看看有什么不同。

<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>