javascript - 格式存储用户浏览器的语言

标签 javascript string

我首先检查 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-US , fr-FR , pl-PL , es-ES 。是否可以得到以下格式的结果:en , fr , pl , es
没有US , FR , PL , ES

最佳答案

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

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

使用正则表达式:

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

或者使用子字符串:

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

关于javascript - 格式存储用户浏览器的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57540806/

相关文章:

javascript - UL 内的 ng-repeat(位于 P 内)不起作用

javascript - JS/无法读取未定义的属性 'push'

swift - 在 Swift 中分隔字符串

c - 从线程返回 "string"

php - jQuery 到 PHP - 序列化字符串

C++、字符串和指针

javascript - 访问被拒绝的 ajax 请求 javascript

javascript - 在 jQuery 中获取元素的值

javascript - 找不到模块 : Error: Can't resolve 'crypto' in 'C:\

c++ - 如何在 C++ 中使用 switch case 比较字符串