我首先检查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
答案 0 :(得分:1)
基本上,您可以通过三种方式执行此操作。在连字符-
上分割并获取数组的第一个元素:
const [res] = getNavigatorLanguage().split("-");
使用正则表达式:
const [, res] = getNavigatorLanguage().match(/(\w*?)-/);
或使用substring
:
const res = getNavigatorLanguage.substring(0, 2);