我首先检查 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/