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