Microsoft Edge javascript toLocaleTimeString 不正确的间距
Microsoft Edge javascript toLocaleTimeString incorrect spacing
我无法理解某些 JavaScript 在 Edge 中的表现似乎有所不同。
具体归结为:
var testi = new Date().toLocaleTimeString();
var len2 = testi.length;
alert(len2);
我在 Edge 中的长度是 17,在 Chrome 和 IE 中是 10
字符串中似乎有一些幻影空格,它也搞砸了我尝试对其进行子串化的尝试。
https://jsfiddle.net/m1m8h7ym/
仅供参考,我的时区是美国中部。
看起来 Microsoft 正在下滑 the invisible left-to-right mark。这也发生在 IE11 的边缘模式中。我通过遍历字符串中的每个字符并将其传递给 encodeURIComponent()
来解决这个问题
var output = document.getElementById("output");
var testi = new Date().toLocaleTimeString();
var row;
for (var i = 0, len = testi.length; i < len; i++) {
row = document.createElement("pre");
row.innerHTML = encodeURIComponent(testi[i]);
output.appendChild(row);
}
<div id="output"></div>
您可以通过其 unicode 将其删除,从而将其删除,该 unicode 可以通过表达式 \u200E
.
在正则表达式中捕获
var output = document.getElementById("output");
var testi = new Date().toLocaleTimeString().replace(/\u200E/g,"");
var row;
for (var i = 0, len = testi.length; i < len; i++) {
row = document.createElement("pre");
row.innerHTML = encodeURIComponent(testi[i]);
output.appendChild(row);
}
<div id="output"></div>
我无法理解某些 JavaScript 在 Edge 中的表现似乎有所不同。 具体归结为:
var testi = new Date().toLocaleTimeString();
var len2 = testi.length;
alert(len2);
我在 Edge 中的长度是 17,在 Chrome 和 IE 中是 10 字符串中似乎有一些幻影空格,它也搞砸了我尝试对其进行子串化的尝试。
https://jsfiddle.net/m1m8h7ym/
仅供参考,我的时区是美国中部。
看起来 Microsoft 正在下滑 the invisible left-to-right mark。这也发生在 IE11 的边缘模式中。我通过遍历字符串中的每个字符并将其传递给 encodeURIComponent()
var output = document.getElementById("output");
var testi = new Date().toLocaleTimeString();
var row;
for (var i = 0, len = testi.length; i < len; i++) {
row = document.createElement("pre");
row.innerHTML = encodeURIComponent(testi[i]);
output.appendChild(row);
}
<div id="output"></div>
您可以通过其 unicode 将其删除,从而将其删除,该 unicode 可以通过表达式 \u200E
.
var output = document.getElementById("output");
var testi = new Date().toLocaleTimeString().replace(/\u200E/g,"");
var row;
for (var i = 0, len = testi.length; i < len; i++) {
row = document.createElement("pre");
row.innerHTML = encodeURIComponent(testi[i]);
output.appendChild(row);
}
<div id="output"></div>