从JavaScript中的用户代理信息获取设备名称
我知道关于这个话题有很多问题,但没有一个对我有帮助。我知道,我无法通过类似iPhone之类的JavaScript获取设备 因此,当我运行此命令时:从JavaScript中的用户代理信息获取设备名称,javascript,jquery,regex,Javascript,Jquery,Regex,我知道关于这个话题有很多问题,但没有一个对我有帮助。我知道,我无法通过类似iPhone之类的JavaScript获取设备 因此,当我运行此命令时: navigator.userAgent 我得到了这个结果: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" 现在,我想提取开头括号后的第一个单词Ma
navigator.userAgent
我得到了这个结果:
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
现在,我想提取开头括号后的第一个单词
Macintosh
,并将其存储在变量中。例如,我如何使用RegEx来实现这一点?RegExp是关于定义模式的逻辑的。这意味着您需要确定它的字符串格式才能工作
例如,在您发布的示例中,也许我们将要匹配的位定义为:
- “第一个开头括号后的第一个单词”
navigator.userAgent.match(/^[^\(]+\((\w+)/);
嗯,为什么不试试呢?因为我不知道如何使用正则表达式,如果这是可能的,当然是可能的。RegExp是模式匹配,正是针对这种情况。所以第一件事是做一个RegExp教程。([a-zA-Z]+;)这是我得到的,但是我如何才能得到;退出?这将返回以前的所有内容;但我只需要Macintosh,所以可能有一个错误,但我会尝试你的答案。谢谢你的帮助。匹配的第一个元素将始终返回整个匹配,但第二个元素([1])将只是Macintosh。哦,好的,我理解。现在我如何访问最后一个元素呢?很明显,
match()
返回一个数组。