我希望toLocaleString
返回“星期一”(6个字符),
但是IE给了我一些意想不到的性格,
如果没有其他扩展API(moment.js等等)
,我怎么能正常工作IE11:
var weekday = new Date('2015-11-23').toLocaleString("en-us", { weekday: 'long'});
weekday.toString() //"Monday"
weekday.length //7
weekday.charCodeAt(0) //8206 <-- what is this
Chrome53:
var weekday = new Date('2015-11-23').toLocaleString("en-us", { weekday: 'long'});
weekday.toString() //"Monday"
weekday.length //6
weekday.charCodeAt(0) //77
答案 0 :(得分:0)
好的,我做了一些调查:
字符8206是Left-to-right mark,很可能由MS作为其国际化规则的一部分添加。
它很容易被剥离。
var stripped = weekday.replace(/\u200E/g, "");
console.log(stripped.length)
只需注意:您可能还会遇到角色8207,这是一个从右到左的标记 - 可以轻松剥离。