【问题标题】:Format store the user's language by browser [duplicate]格式通过浏览器存储用户的语言[重复]
【发布时间】:2019-12-23 17:35:18
【问题描述】:

我首先检查 navigator.languages 数组的第一个元素。

然后我得到 navigator.userLanguage 或 navigator.language。

如果失败,我们会得到 navigator.browserLanguage。

const getNavigatorLanguage = () =>
  (navigator.languages && navigator.languages.length) ?
    navigator.languages[0] :
    navigator.userLanguage ||
      navigator.language ||
      navigator.browserLanguage 

我可以根据位置获取结果,格式为:en-USfr-FRpl-PLes-ES。是否可以得到格式为:enfrples的结果?
没有US,FR,PL,ES

【问题讨论】:

  • 当然。对substring做一些研究。
  • const xx = getNavigatorLanguage().split('-')[0]; // 'en', 'fr', ...

标签: javascript string


【解决方案1】:

您基本上有三种方法可以做到这一点。拆分连字符- 并获取数组的第一个元素:

const [res] = getNavigatorLanguage().split("-");

使用正则表达式:

const [, res] = getNavigatorLanguage().match(/(\w*?)-/);

或者使用substring:

const res = getNavigatorLanguage.substring(0, 2);

【讨论】:

  • substring 的情况下不需要indexOf,因为所有语言代码都是两个字母。
  • 有趣 - 谢谢@HereticMonkey!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多