Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按浏览器格式存储用户的语言_Javascript_String - Fatal编程技术网

Javascript 按浏览器格式存储用户的语言

Javascript 按浏览器格式存储用户的语言,javascript,string,Javascript,String,我首先检查navigator.languages数组的第一个元素 然后我得到navigator.userLanguage或navigator.language 如果失败,我们将获得navigator.browserLanguage const getNavigatorLanguage = () => (navigator.languages && navigator.languages.length) ? navigator.languages[0] :

我首先检查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。是否可能以以下格式获得结果:en、fr、pl、es?
如果没有我们,FR、PL、ES,基本上有三种方法可以做到这一点。在连字符上拆分-并获取数组的第一个元素:

const [res] = getNavigatorLanguage().split("-");
使用正则表达式:

const [, res] = getNavigatorLanguage().match(/(\w*?)-/);
或使用子字符串:


当然对substring.const xx=getNavigatorLanguage.split'-'[0];/'进行一些研究在子字符串的情况下,您不需要indexOf,因为所有语言代码都是两个字母。很有趣-谢谢@HereticMonkey!
const res = getNavigatorLanguage.substring(0, 2);